我有一个(单一)的情况下,在我的应用程序是eval被使用,我想压制JSHint警告仅为这种情况。

有办法实现吗?配置,神奇的评论,…?


当前回答

正如您在JSHint文档中看到的,您可以根据每个函数或每个文件更改选项。在你的例子中,只需要在你的文件中添加注释,或者在使用eval的函数中添加注释:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}

其他回答

是的,有办法。事实上是两个。2013年10月,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

“邪恶”的答案对我不起作用。相反,我使用了JSHints文档页面上推荐的内容。如果知道抛出的警告,可以在一段代码中关闭它。例如,我正在使用一些不使用驼峰大小写函数的第三方代码,但我的JSHint规则要求它,这导致了一个警告。为了让它安静下来,我写道:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */

正如您在JSHint文档中看到的,您可以根据每个函数或每个文件更改选项。在你的例子中,只需要在你的文件中添加注释,或者在使用eval的函数中添加注释:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}