Grunt lint错误使用$

Grunt lint error with $

本文关键字:错误 lint Grunt      更新时间:2023-09-26

我正在尝试使用Grunt的lint。我能够从命令行运行Grunt,但它给了我很多错误。大多数情况下,"‘$’没有定义"。即使alert抛出错误,"'alert' is not defined"。

我怎样才能绕过这些呢?

您需要告诉JSHint (Grunt默认使用的检查器)要检查的文件可用的全局变量。我假设你在你的页面上包括jQuery,因此$标识符(当然可以是各种其他库)。

您可以在每个文件或Grunt脚本中指定全局变量。要在文件中指定它们,可以使用global指令。将其放在文件的顶部,或者放在使用全局:

的函数的顶部。
/*global $:false */

注意,false意味着如果你覆盖$,你会得到错误。如果您需要这样做的能力,将其更改为true

如果您希望在Grunt脚本中指定全局变量,您可以向jshint部分中的任何任务添加globals属性。例如:

grunt.initConfig({
    jshint: {
        someTask: {
            globals: {
                $: false
            }
        }
    }
});
对于您得到的alert消息,您需要告诉JSHint您允许使用开发函数,例如alertconsole.log。要做到这一点,你可以在文件中使用jshint指令(就像global指令一样):
/*jshint devel:true */

或者您可以在Grunt脚本中为任务添加options属性:

someTask: {
    globals: {
        $: false
    },
    options: {
        devel: true
    }
}

请参阅JSHint文档,了解所有可用的选项

globals必须在options

someTask: {
    options: {
        devel: true,
        globals: {
            $: false
        }
    }
}