有没有办法抑制给定行的JSHint警告?

时间:2012-10-19 15:34:52

标签: jshint

我的应用程序中有一个(单个)用例eval,我想仅针对这种情况禁止JSHint警告。

有没有办法实现这一目标?配置,魔术评论......?

3 个答案:

答案 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);
}