Twitter BootstrapをWordPressのhtml5.js
などの他のサードパーティのJSライブラリで使用すると、しばしば問題が発生します。 "Twenty Twelve"テーマでは、jshint
(または以前のバージョンのTBと思う)のjslint
は、サードパーティの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を変更したりしないでください。これは将来のアップグレードで問題が発生するためです。サードパーティのJSファイルを別のフォルダーに配置する唯一のオプションです。
特定のJSファイルを無視するjshintまたはTBのビルドプロセスを取得する方法はありますか(おそらく、私が知らない.jshintrc
構成によって)?
そのため、jshintのファイルを無視するオプションがありますが、.jshintrc
内ではなく、別個のファイル.jshintignore
内で設定されます。これは理にかなっています。ただし、jshintはプロジェクトのサブディレクトリで.jshintrc
を探しますが、.jshintignore
はプロジェクトのルートにある必要があります。したがって、Twitter Bootstrapでは、.jshintrc
は/js
にありますが、.jshintignore
は/
に配置する必要があります。
したがって、私の質問/.jshintignore
の問題を解決するには、以下を含める必要があります。
js/html5.js
js/theme-customizer.js
以上です!
Lèsemajestéの answer の補足として、これらのコメントを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 docs
私にとって最も簡単な解決策は、// jshint ignore: start
無視したいファイルの先頭へ