267

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

有没有办法做到这一点?配置,魔术评论,...?

4

3 回答 3

477

是的,有办法。实际上是两个。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
于 2013-10-28T12:52:51.383 回答
106

“邪恶”的答案对我不起作用。相反,我使用了 JSHints文档页面上推荐的内容。如果您知道引发的警告,则可以将其关闭以获取代码块。例如,我正在使用一些不使用驼峰函数的第三方代码,但我的 JSHint 规则需要它,这导致了警告。为了让它沉默,我写道:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */
于 2013-10-22T06:00:10.013 回答
39

正如您在JSHint 的文档中看到的那样,您可以更改每个函数每个文件的选项。在您的情况下,只需在您的文件中添加评论,或者在使用的函数中添加更多本地评论eval

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}
于 2012-10-23T10:31:46.410 回答