在构buildTwitter Bootstrap时,让jshint忽略某些文件

当使用Twitter Bootstrap与其他第三方JS库(例如WordPress“Twenty Twelve”主题中的html5.js时,我经常遇到这个问题,由于jshint (或者以前的TB版本中的jslint )会导致构build失败由于第三方JS库的错误,例如

 \n################################################## Building Bootstrap... ##################################################\n js/html5.js: line 3, col 122, Expected ')' to match '(' from line 3 and instead saw ','. js/html5.js: line 3, col 140, Expected an identifier and instead saw ')'. js/html5.js: line 4, col 101, eval is evil. js/html5.js: line 6, col 369, Confusing use of '!'. js/html5.js: line 6, col 422, Confusing use of '!'. js/html5.js: line 7, col 61, 'b' is already defined. js/theme-customizer.js: line 26, col 26, Use '===' to compare with ''. 7 errors make: *** [build] Error 1 

我想避免修改第三方库或修改TB的Makefile,因为这会在未来升级时造成问题; 是我唯一的select将第三方JS文件放入一个单独的文件夹。

有没有办法让jshint或TB的构build过程忽略某些JS文件(也许通过一些.jshintrcconfiguration,我不知道?)?

因此,有一个选项可以忽略jshint中的文件,但它不是在.jshintrc设置的,而是一个单独的文件.jshintignore ,这是有道理的。 但是,虽然jshint将在项目的子目录中查找.jshintrc.jshintignore需要位于项目根目录中。 所以使用Twitter Bootstrap, .jshintrc/js.jshintignore需要放在/

所以要解决我的问题/.jshintignore需要包含的问题:

 js/html5.js js/theme-customizer.js 

而就是这样!

作为Lèsemajesté的答案的补充,也可以在JS中写这些注释,而jshint将忽略它们之间的代码:

 // Code here will be linted with JSHint. /* jshint ignore:start */ // Code here will be linted with ignored by JSHint. /* jshint ignore:end */ 

或者如果你只是希望JSHint不要检查一行:

  // jshint ignore:line 

参考: jshint文档

对我来说最简单的解决scheme是我只是添加/ / // jshint ignore: start我想忽略的任何文件的顶部