TOGOUTECH

javascript - JSHint 不允许我在 'forEach' 循环中使用 'for'

我有一个以数组作为值的对象。people={'steve':['foo','bar'],'joe':['baz','boo']}对于每个键,我想遍历相应数组中的值。足够简单:for(varpersoninpeople){person.forEach(function(item){console.log(item)})}但是JSHint提示:Don'tmakefunctionswithinaloop.这真的是我的代码有问题吗?我非常喜欢简短的ES5for循环语法。我是否需要使用ES3样

javascript - ES6 模块导出默认语法

我正在使用带有esnext:true选项的es6-module-transpiler、esprima和JSHint。JSHint在我输入时提示:exportdefault={some:'thing',other:'thing'};但是esprima在我使用的时候提示exportdefault{some:'thing',other:'thing'};spec说exportdefaultAssignmentExpression;这让我觉得JSHint需要更新,而esprima正在正常轰炸,因为没有分配。有人可以在这里为我做决定

javascript - 使用自定义检查扩展 jshint

在Python世界中,有多种静态代码分析工具可以很容易地通过编写插件或扩展来使用自定义检查进行扩展,例如:pylintflake8在JavaScript世界中,据我了解,jshint是静态代码分析的第一工具。我已经使用它一段时间了,它肯定有助于发现很多代码风格违规,但是,最近,我遇到了扩展jshint的需要。带有自定义检查。我怎样才能做到这一点?是否可扩展?我查看了文档,唯一发现的是howtowriteacustomreporter这不是我要找的。作为解决方法,我想我可以forkthejshintrepo,实现检查,并在项目中使用分支维护来自上游的更新。 最

javascript - 如何将全局配置传递给 jshint?

如何将全局配置传递给jshint?我没有在文档中找到答案。我的配置文件:>typetests\jshint_options.js/*jshintglobalstrict:true*/这是我到目前为止尝试过的:>jshintmyfile.js--config=tests\jshint_options.jsmyfile.js:line1,col1,Usethefunctionformof"usestrict".myfile.js:line4,col24,Unescaped'['.myfile.js:line4,col49,Unescaped

javascript - 将 JSHint 规则转换为 Sonar

我们的一些开发组正在使用JSHint来提高代码质量,我们希望采用SonarQube来提高透明度。Sonar解释说他们想在这里维护自己的规则列表:TheSonarway有没有办法轻松地将现有的JSHint规则映射到“Sonarway”等价物?我们想为JS维护一套规则。 最佳答案 这取决于您对映射的理解。JSHint有一个内置规则列表,您的开发人员将启用其中的一些规则。对于他们启用的每条规则,他们需要在SonarQubelistofrules中找到对应的规则。(我建议制作一个共享电子表格,这样查找只需进行一次。)如果有任何规则还没有So

javascript - 三元运算符在 JSHint 中显示错误 - 需要赋值或函数调用,但看到的是表达式

我有一个三元运算符dir==='next'?++$currentSlide:--$currentSlide;在我的JS中用来递增或递减一个整数。当我在grunt中运行脚本时,JSHint将这一行突出显示为Expectedanassignmentorfunctioncallandinsteadsawanexpression.谁能告诉我哪里出了问题?我应该以不同的方式设置我的条件吗? 最佳答案 您将条件运算符误用为if语句,这就是您收到该注释的原因。代码中的实际工作是作为表达式的副作用完成的,表达式的结果将被忽略。作为一个真正的if语句

javascript - jshint - 创建自定义警告/规则

是否可以创建自定义jshint规则,将其添加到现有的内置规则,并在我们的项目中配置(打开或关闭)?jshint是否可扩展,就像我们如何在Grunt中创建自己的自定义任务一样?有时我们需要在我们的环境中强制执行javascript编码实践。例如,我们希望强制我们的开发人员使用Date.now()而不是Date.getTime()。 最佳答案 您应该考虑使用ESLint在那种情况下。每条规则都是独立的。Eventhedefaultrules.因此,您可以将其中一个默认规则作为蓝图,然后编写您自己的规则。

javascript - 当 jshint 发出警告时,如何使 Webpack 退出并出错?

使用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-load

javascript - 将 JSLint/Hint 与 requirejs 一起使用

我目前正在为gruntjs设置自动构建脚本(使用require.js)驱动的项目。因此我想运行jslint/jshint在使用r.js连接和缩小所有必需文件之前。由于js文件夹包含很多我不想lint的开发文件,我不能只将js/**/*.js传递给JSLint。我的第一个想法是使用optimizer:'none'运行r.js,对连接的文件进行lint,然后将其缩小,但这不是一个选项,原因有二。首先它将包括vendor库我不想lint,然后找到有错误的行,找到它的类,在dev文件夹中找到合适的js文件,在那里修复它,再次运行r.js最后lint它再次,这对我们的工作流程来说很麻烦。所以我正

javascript - 批量修复 JSHints 在项目中发现的缺失分号

根据JSHint,我有一个包含100多个javascript文件的项目,每个文件缺少1-5个分号(结果是多人以不同的约定处理该项目)。我想批量修复所有内容,因为逐个修复不切实际。我发现了这个:https://github.com/jshint/fixmyjs但我看不到只修复分号而不“修复”其他东西(例如制表符->空格)的方法。有谁知道这样做的方法吗?我对它可能导致损坏/引入错误的可能性感到满意。我查看了这些错误,它们看起来很正常。 最佳答案 我真的希望你喜欢这个解决方案。请注意,在解决问题后再次使用jshint进行验证。出于好奇,您