tee*_*ink 2 javascript jslint gruntjs
我正在尝试使用lint和Grunt.我可以从命令行运行Grunt,但它给了我很多错误.大部分"' $'未定义".即使alert抛出错误,"'警报'也没有定义".
我怎么能绕过那些?
你需要告诉JSHint(这是Grunt默认使用的linter)关于可用于linted的文件的全局变量.我假设你在你的页面上包含jQuery,因此$标识符(当然可以是各种其他库).
您可以在每个文件中指定全局变量,也可以在Grunt脚本中指定全局变量.要在文件中指定它们,可以使用global指令.将它放在文件的顶部,或放在使用全局的函数的顶部:
/*global $:false */
Run Code Online (Sandbox Code Playgroud)
请注意,false如果您覆盖,则意味着您将收到错误$.如果您需要能够这样做,请将其更改为true.
如果您更喜欢在Grunt脚本中指定全局变量,则可以globals向该jshint部分中的任何任务添加属性.例如:
grunt.initConfig({
jshint: {
someTask: {
globals: {
$: false
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
至于alert你得到的消息,你需要告诉JSHint你允许使用开发函数,比如alert和console.log.为此,您可以jshint在文件中使用指令(就像global指令一样):
/*jshint devel:true */
Run Code Online (Sandbox Code Playgroud)
或者您可以options在Grunt脚本中向任务添加属性:
someTask: {
globals: {
$: false
},
options: {
devel: true
}
}
Run Code Online (Sandbox Code Playgroud)
有关您可以使用的所有选项,请参阅JSHint文档.