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

Mik*_*ski 253 jshint

我在我的应用程序中eval使用了(单个)案例,并且我想仅针对此案例禁止JSHint警告.

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

Jas*_*yon 456

是的,有一种方法.实际上是两个.201310月, 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.
Run Code Online (Sandbox Code Playgroud)

您也可以忽略带有跟踪注释的单行,如下所示:

ignoreThis(); // jshint ignore:line
Run Code Online (Sandbox Code Playgroud)

  • 是否可以忽略特定错误?例如.maxlen在该特定线路上仍然检测到其他错误. (7认同)
  • 谢天谢地`// jshint ignore:line` - 用`;(function(){// jshint ignore:line`)效果很好 (4认同)
  • 不推荐使用"ignore"选项,我使用eclipse中JSHint Integration功能的0.9.9版获得错误"bad option".是否有其他方法可以做同样的事情? (4认同)
  • 通过使用特定的[选项](http://www.jshint.com/docs/options/)获取我想要忽略的行,我找到了'错误的选项:'忽略'.在我的情况下,我想忽略`if(x == null)`因为我希望它等于null而且使用[`/*jshint eqnull:true*/`](http://www.jshint.com/docs/options/#eqnull)与`if`沉默JSHint的功能相同. (2认同)

tol*_*anz 99

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

/*jshint -W106 */
save_state(id);
/*jshint +W106 */
Run Code Online (Sandbox Code Playgroud)

  • 我怎么弄清楚我的警告号码? (15认同)
  • 可替代地,答案[此相关的问题](http://stackoverflow.com/questions/17535130/where-can-i-find-a-list-of-jshint-numeric-error-codes)建议检查[消息. JS](https://github.com/jshint/jshint/blob/2.1.4/src/shared/messages.js).我发现这非常有用,因为我使用WebStorm. (8认同)
  • 哦对不起.我忘了我留下了评论,所以在我检查了文档之后没有发帖.它不是,您必须在命令中添加`--verbose`以获取警告编号. (4认同)
  • 当您运行jshint并最初获得错误时,将报告该数字. (3认同)
  • 所有警告,错误和信息编号都可以在这里找到:https://github.com/jshint/jshint/blob/master/src/messages.js (3认同)

Odi*_*Odi 37

正如您在JSHint文档中所看到的,您可以更改每个函数每个文件的选项.在您的情况下,只需在您的文件中添加注释,或者在使用的函数中添加更多本地注释eval:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}
Run Code Online (Sandbox Code Playgroud)