我正在尝试将 lint 与 Grunt 一起使用。我可以从命令行运行 Grunt,但它给了我很多错误。大多数情况下“' $
'未定义”。甚至alert
抛出错误,“'alert'未定义”。
我怎样才能绕过那些?
我正在尝试将 lint 与 Grunt 一起使用。我可以从命令行运行 Grunt,但它给了我很多错误。大多数情况下“' $
'未定义”。甚至alert
抛出错误,“'alert'未定义”。
我怎样才能绕过那些?
你需要告诉 JSHint(这是 Grunt 默认使用的 linter)关于被 linted 文件可用的全局变量。我假设您在页面上包含 jQuery,因此$
标识符(当然可以是各种其他库)。
您可以在每个文件中或在 Grunt 脚本中指定全局变量。要在文件中指定它们,您可以使用global
指令。把它放在文件的顶部,或者在你使用全局的函数的顶部:
/*global $:false */
请注意,这false
意味着如果您覆盖$
. 如果您需要这样做的能力,请将其更改为true
.
如果您希望在 Grunt 脚本中指定全局变量,您可以为您的部分globals
中的任何任务添加一个属性。jshint
例如:
grunt.initConfig({
jshint: {
someTask: {
globals: {
$: false
}
}
}
});
至于alert
您收到的消息,您需要告诉 JSHint 您允许使用开发功能,例如alert
和console.log
。为此,您可以jshint
在文件中使用指令(就像global
指令一样):
/*jshint devel:true */
或者你可以options
在 Grunt 脚本中为任务添加一个属性:
someTask: {
globals: {
$: false
},
options: {
devel: true
}
}
有关您可用的所有选项,请参阅JSHint 文档。
globals
必须在里面options
someTask: {
options: {
devel: true,
globals: {
$: false
}
}
}