我的应用程序中有一个(单个)用例eval
,我想仅针对这种情况禁止JSHint警告。
有没有办法实现这一目标?配置,魔术评论......?
答案 0 :(得分:450)
是的,有办法。实际上是两个。在October 2013中,jshint添加了一种忽略代码块的方法:
// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.
您也可以忽略带有跟踪注释的单行,如下所示:
ignoreThis(); // jshint ignore:line
答案 1 :(得分:95)
“邪恶”的答案对我不起作用。相反,我使用了JSHints docs page上推荐的内容。如果您知道引发的警告,则可以将其关闭以获取代码块。例如,我使用的是一些不使用camel case函数的第三方代码,但我的JSHint规则需要它,这会导致警告。为了让它沉默,我写道:
/*jshint -W106 */
save_state(id);
/*jshint +W106 */
答案 2 :(得分:37)
正如您在documentation of JSHint中所看到的,您可以更改选项每个功能或每个文件。在您的情况下,只需在您的文件中添加注释,或者在使用eval
的函数中添加更多本地注释:
/*jshint evil:true */
function helloEval(str) {
/*jshint evil:true */
eval(str);
}