我使用jshint并启用了缩进强制选项并将其设置为4,并且希望对代码库中的大多数文件保持这种方式。虽然在一个特定文件中,我想禁用此检查。我尝试在顶部添加jshint注释,但没有成功:/*jshintindent:false*/这太糟糕了,因为这种语法适用于其他选项。例如,我可以使用以下命令禁用驼峰式强制选项:/*jshintcamelcase:false*/我该怎么做?一些答案表明缩进会自动启用白色选项,但我尝试了以下方法,但它也不起作用:/*jshintwhite:false*/ 最佳答案 目前这是不可能的。JSHint按如下
我的大多数javascript代码文件如下所示:(function(){varFoo=function(){...};varBar=function(){...};...}());我尝试了很多计算代码圈复杂度的工具,它们都生成了错误的报告(从我的Angular来看),即:它们都将包装函数作为最复杂的函数.问题是所有的报告都被这个事实严重扭曲了:包装函数通常占据了复杂性饼图的一半以上,而且所有的平均数都是有偏差的。有没有办法获得我的代码的真实复杂性,而不会受到包装函数的影响?所有这些工具都做错了吗?将我的代码包装在一个函数中以进行范围界定是我做错了吗(我不这么认为)?我在使用这些工具时做
在我的几个javascript文件上运行jshint时,我收到如下警告:file.js:lineX,col93,'fromParams'isdefinedbutneverused.file.js:lineX,col72,'toParams'isdefinedbutneverused.file.js:lineX,col63,'toState'isdefinedbutneverused.file.js:lineX,col56,'event'isdefinedbutneverused.对于这样的事情:$rootScope.$on('$stateChangeSuccess',function(
我有这样的代码(取消ajax调用):if(requests.length){for(i=requests.length;i--;){varr=requests[i];if(4!==r.readyState){try{r.abort();}catch(e){self.error('errorinabortingajax');}}}requests=[];//onlyresumeifthereareajaxcallsself.resume();}和jshint显示错误:Valueof'e'maybeoverwritteninIE8andearlier.in}catch(e){这个错误是什么
我们刚刚在Windows中升级到JSHint的NPM版本,我们的CI不会再因JSHint失败而失败。这感觉像是一个愚蠢的问题,但我想不通。我们正在运行NAnt和CCNet。当我们尝试从NAnt中运行jshint.cmd时,它失败并指出路径错误。我无法在脚本中对路径进行硬编码,因为每个开发站(和CI服务器)都将NPM和JSHint安装在不同的位置(“C:\Users\me\AppData\Roaming\npm”)。所以我们写了一个批处理文件,NAnt调用它,调用jshint.cmd。它现在运行JSHint,但不会给出错误代码或正常失败。看起来在jshint.cmd失败后我们的批处理文件
根据JSHint,我有一个包含100多个javascript文件的项目,每个文件缺少1-5个分号(结果是多人以不同的约定处理该项目)。我想批量修复所有内容,因为逐个修复不切实际。我发现了这个:https://github.com/jshint/fixmyjs但我看不到只修复分号而不“修复”其他东西(例如制表符->空格)的方法。有谁知道这样做的方法吗?我对它可能导致损坏/引入错误的可能性感到满意。我查看了这些错误,它们看起来很正常。 最佳答案 我真的希望你喜欢这个解决方案。请注意,在解决问题后再次使用jshint进行验证。出于好奇,您
我目前正在为gruntjs设置自动构建脚本(使用require.js)驱动的项目。因此我想运行jslint/jshint在使用r.js连接和缩小所有必需文件之前。由于js文件夹包含很多我不想lint的开发文件,我不能只将js/**/*.js传递给JSLint。我的第一个想法是使用optimizer:'none'运行r.js,对连接的文件进行lint,然后将其缩小,但这不是一个选项,原因有二。首先它将包括vendor库我不想lint,然后找到有错误的行,找到它的类,在dev文件夹中找到合适的js文件,在那里修复它,再次运行r.js最后lint它再次,这对我们的工作流程来说很麻烦。所以我正
使用jshint-loader与Webpack,当JSHint发出警告时,如何使webpack命令失败?如果linting检测到问题,我希望CI构建失败。目前,我只是将Webpack配置为在预加载JS文件时运行jshint-loader://webpack.config.jsmodule.exports={module:{preLoaders:[{test:/\.js/,exclude:/node_modules/,loader:'jshint-loader',},],},}; 最佳答案 首先,jshint-loader必须配置为在
是否可以创建自定义jshint规则,将其添加到现有的内置规则,并在我们的项目中配置(打开或关闭)?jshint是否可扩展,就像我们如何在Grunt中创建自己的自定义任务一样?有时我们需要在我们的环境中强制执行javascript编码实践。例如,我们希望强制我们的开发人员使用Date.now()而不是Date.getTime()。 最佳答案 您应该考虑使用ESLint在那种情况下。每条规则都是独立的。Eventhedefaultrules.因此,您可以将其中一个默认规则作为蓝图,然后编写您自己的规则。
我有一个三元运算符dir==='next'?++$currentSlide:--$currentSlide;在我的JS中用来递增或递减一个整数。当我在grunt中运行脚本时,JSHint将这一行突出显示为Expectedanassignmentorfunctioncallandinsteadsawanexpression.谁能告诉我哪里出了问题?我应该以不同的方式设置我的条件吗? 最佳答案 您将条件运算符误用为if语句,这就是您收到该注释的原因。代码中的实际工作是作为表达式的副作用完成的,表达式的结果将被忽略。作为一个真正的if语句