许多 grunt.js 脚本以以下内容开头:
/*global module:false*/
module.exports = function(grunt) {
但是第一行注释的原因是什么?
它是 JSLint 或 JSHint 的指令。它告诉 JSLint/JSHint 解析器该标识符module
在别处定义,因此它不会抛出错误告诉您module
未定义。没有它,解析器将遇到对module
并认为您正在尝试引用未定义的变量。
来自JSLint 文档 http://www.jslint.com/lint.html:
JSLint 还识别/*global*/
指令可以向 JSLint 指示此文件中使用的变量是在其他文件中定义的。该指令可以包含逗号分隔的名称列表。
And the JSHint 文档 http://jshint.com/docs/:
除了选项之外,您还可以让 JSHint 知道它应该期望哪些全局变量:
/*global DISQUS:true, jQuery:false */
在上面的示例中,JSHint 将允许您覆盖DISQUS
,但如果你尝试覆盖就会抱怨jQuery
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)