是什么导致/ *全局模块:false * / in grunt.js
许多grunt.js脚本开始于:
/*global module:false*/ module.exports = function(grunt) {
但是,第一行中的评论的原因是什么?
这是JSLint或JSHint的指令。 它告诉JSLint / JSHintparsing器,标识符module
是在别处定义的,所以它不会抛出一个错误,告诉你module
是未定义的。 没有它,parsing器会遇到对module
的引用,并认为你正在尝试引用一个未定义的variables。
从JSLint文档 :
JSLint还识别一个
/*global*/
伪指令,可以向JSLint指示该文件中使用的variables是在其他文件中定义的。 该指令可以包含逗号分隔的名称列表。
和JSHint文档 :
除了选项之外,你可以让JSHint知道它应该期望的全局variables:
/*global DISQUS:true, jQuery:false */
在上面的例子中,JSHint将允许您重写
DISQUS
,但是如果您尝试重写jQuery
,DISQUS
抱怨。