带有 $ 的 Grunt lint 错误
Posted
技术标签:
【中文标题】带有 $ 的 Grunt lint 错误【英文标题】:Grunt lint error with $ 【发布时间】:2012-12-25 13:46:12 【问题描述】:我正在尝试将 lint 与 Grunt 一起使用。我可以从命令行运行 Grunt,但它给了我很多错误。大多数情况下“'$
'未定义”。甚至alert
都在抛出错误,“'alert' is not defined”。
我怎样才能绕过这些?
【问题讨论】:
【参考方案1】:你需要告诉 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 */
或者您可以在 Grunt 脚本中为任务添加 options
属性:
someTask:
globals:
$: false
,
options:
devel: true
请参阅JSHint docs,了解您可以使用的所有选项。
【讨论】:
【参考方案2】:globals
必须在 options
内
someTask:
options:
devel: true,
globals:
$: false
【讨论】:
以上是关于带有 $ 的 Grunt lint 错误的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 中的 TS Lint 突然指示错误的 lint 错误
猪拉丁语:错误 org.apache.pig.tools.grunt.Grunt - 错误 1045
@typescript-eslint 编译错误不同于 linting 错误