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

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

有没有办法做到这一点? configuration,魔术评论,…?

是的,有一种方法。 其实两个 在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 文档页面上推荐的内容。 如果您知道抛出的警告,则可以将其closures一段代码。 例如,我正在使用一些不使用驼峰函数的第三方代码,但是我的JSHint规则需要它,这导致了警告。 为了保持沉默,我写道:

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

正如你可以在JSHint的文档中看到的,你可以改变每个函数或者每个文件的选项。 在你的情况下,只需在你的文件或更多的本地只是在使用eval的函数中发表评论:

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