多くの grunt.js-script は次で始まります。
/*global module:false*/
module.exports = function(grunt) {
しかし、最初の行のコメントの原因は何ですか?
多くの grunt.js-script は次で始まります。
/*global module:false*/
module.exports = function(grunt) {
しかし、最初の行のコメントの原因は何ですか?
これは、JSLintまたはJSHintのディレクティブです。識別子が他の場所で定義されていることをJSLint/JSHintパーサーに通知するmodule
ため、未定義であることを通知するエラーはスローされませんmodule
。これがないと、パーサーはへの参照に遭遇module
し、未定義の変数を参照しようとしていると見なします。
JSLintドキュメントから:
/*global*/
JSLintは、このファイルで使用されている変数が他のファイルで定義されていることをJSLintに示すことができるディレクティブも認識します。ディレクティブには、名前のコンマ区切りリストを含めることができます。
そして、JSHintドキュメント:
オプションに加えて、JSHintにどのグローバル変数を期待すべきかを知らせることができます。
/*global DISQUS:true, jQuery:false */
上記の例では、JSHintを使用するとオーバーライドできますが、オーバーライド
DISQUS
しようとすると文句を言いますjQuery
。