草庐IT

javascript - jshint 错误 : Redefinition of '_'

我在我的express应用程序中使用了lodash库。每当我像这样包含lodash时:var_=require('lodash')jshint提示错误:Redefinitionof'_'如果我删除require语句,应用程序将失败并报告它没有重新识别“_”。我的jshint.rc有如下语句:"globals":{"angular":false,"_":false}但这是为了让我可以将它包含在前端代码中而不会引起jshint的提示。我如何让jshint忽略我节点代码中的这个错误? 最佳答案 您已明确告诉jshint全局变量_是只读。来

javascript - 如何在包含 Django 模板标记的文件上运行 JSHint?

我想在我所有的Javascript源文件上运行JSHint,但其中一些文件有一些嵌入式Django模板标记。JSHint在此标记上抛出大量错误。有没有办法...告诉JSHint忽略这个标记使用一些虚拟数据运行Djnago模板解析器以生成呈现的js文件的所有排列,然后在其上运行JSHint?我假设我可以编写一堆代码来完成#2,但我想知道是否有更简单的方法。 最佳答案 根据标记,您可以使用JavaScript注释“隐藏”Django标记。例如,我们这样做://{%ifcond%}someJavaScriptCode();//{%else

javascript - jshint,eqnull,使用 '==='与 'undefined'进行比较

我提前道歉,我显然完全无法理解如何配置jshint。我有这行代码if(data==undefined||(typeofdata==='object'&&data.length===0)){...jshint在第一个==下划线并说Use'==='tocomparewith'undefined'.我添加了/*jshinteqnull:true*/。我认为这就是该选项的作用。我什至看到anexamplehere(搜索eqnull)。我错过了什么? 最佳答案 同样使用这个选项“-W041”:错误

javascript - JSHint 重新定义警告并向对象添加更多属性

我有跨越多个文件的对象定义,我使用以下语法向命名空间添加更多属性varapp=app||{};//andthenapp.namespace={...}但是JSHint会用类似的东西警告我:[L1:C5]W079:Redefinitionof'app'.varapp=app||{};我不确定这是否真的是错误的,因为我已经看到它被使用了很多次,例如连同模块模式。如果没问题,我如何才能全局禁止该警告?我找到了一种方法来抑制给定文件的给定选项/*jshint:-W079*/但是有没有办法在全局范围内做到这一点?或者它被认为是不好的做法? 最佳答案

javascript - 我应该在缩小后检查我的代码吗?

我有一些javascript在缩小之前通过了linter,但之后没有。我是否应该担心错误/警告,例如:"Expectedanassignmentorfunctioncallandinsteadsawanexpression""Use'!=='tocomparewith'null'""Don'tmakefunctionswithinaloop""Missing'()'invokingaconstructor.""Expectedaconditionalexpressionandinsteadsawanassignment""Confusinguseof'!'""Aleadingdecim

javascript - jshint 错误 : Redefinition of '$'

我有一个Node.jsWeb应用程序,我在其中使用了Backbone.js和jQuery。我的主要js文件是app.js,其中包含所有必要的脚本,包括jQuery。所以,这是我的app.js代码的开头:'usestrict';var_=require('lodash');var$=require('jquery');varB=require('backbone');B.$=$;现在,如果我在我的项目上运行grunt,它会在jQuery加载到$的那一行引发错误。它向我展示了这个:Lintingpublic/js/app.js...ERROR[L4:C5]W079:Redefinition

javascript - 检查/验证 javascript 语法的简单方法

我有一大堆不同的javascript片段(数千个),其中一些在语法上有一些愚蠢的错误(比如不匹配的大括号/引号、javascript中的HTML、变量名中的拼写错误)。我需要一种简单的方法来检查JS语法。我已经尝试过JSLint,但它发送了太多关于样式、变量定义方式等的警告(即使我关闭了所有标志)。我不需要找出样式问题,或提高javascript质量,我只需要找出明显的语法错误。当然,我可以简单地在浏览器/浏览器控制台中检查它,但我需要自动执行它,因为该片段的数量很大。添加:JSLint/JSHint报告了很多行中的问题,这些问题不是'美丽'而是工作(即有一些潜在问题),并且看不到真正

javascript - 我可以使用 JS Lint、JS Hint 或其他工具来防止将错误数量的参数传递给方法吗?

我是javascript编程(和一般的脚本语言)的新手,但是当我犯语法错误或不小心声明全局变量时,我一直在使用JSLint来帮助我。但是,有一个场景是JSLint没有涵盖的,我觉得这会非常方便。请看下面的代码:(function(){"usestrict";/*globalalert*/vartestFunction=function(someMessage){alert("stuffishappening:"+someMessage);};testFunction(1,2);testFunction();}());请注意,我向testFunction传递了错误数量的参数。我从来没有预

javascript - `jshint globalstrict: true` 与 'use strict' 的用途

在阅读JavaScript源代码时,我经常会在顶部看到这两行代码。/*jshintglobalstrict:true*/'usestrict';现在,我很清楚'usestrict';的用途了。有人能告诉我为什么要包含jshintglobalstrict吗? 最佳答案 JSHint(从JSLint派生)是一个流行的“lintchecker”,它运行在JavaScript代码上。它不执行或修改代码,而是对其进行分析并报告它发现的各种不同的潜在错误或不良做法。如果您在JavaScript文件的顶部(在任何JavaScript函数之外)有'

javascript - 将选项传递给 gulp-jshint

我正在使用gulp构建我的JavaScript。我想在连接文件之前对我的文件运行jshint,但我在设置选项时遇到了问题。我这样做对吗?varres=gulp.src(buildutil.produceFileGlob("./src",clientproperties)).pipe(exclude('**/test/**')).pipe(jshint({sub:false}})).pipe(jshint.reporter(stylish)).pipe(buildutil.jsmoduleConcat("myfile.js")).pipe(gulp.dest('./dist')).pip