1

我正在使用 JSHint 和 QUnit 运行 Grunt 构建。在我的第一次测试运行中,我得到以下信息:

Running "jshint:files" (jshint) task
Linting test/libs/qunit-1.11.0.js...ERROR
[L661:C22] W069: ['throws'] is better written in dot notation.
QUnit.raises = assert[ "throws" ];
[L1590:C33] W103: The '__proto__' property is deprecated.
      return obj.__proto__;

Warning: Task "jshint:files" failed. Use --force to continue.

Aborted due to warnings.

除了编辑 QUnit 源代码和使用--force之外,我还能用它做什么?

4

1 回答 1

2

为了扩展我的评论,假设 Grunt >0.4 和 grunt-contrib-jshint 插件,您可以选择特定文件来运行 JSHint。JSHint Grunt 插件接受标准的 glob 模式:

grunt.initConfig({
    jshint: {
        all: [
            'Gruntfile.js',
            'lib/**/*.js',
            'test/**/*.js'
        ]
    }
});

该示例(来自 JSHint Grunt 插件自述文件)将选择libtest目录(及其子目录)中的任何.js文件,以及Gruntfile.js文件。我建议将 3rd 方库移出您的主lib目录。一个常见的约定是为此类脚本添加供应商目录。

如果您依赖的第 3 方脚本可通过 npm 获得,您也可以简单地将它们包含在您的package.json文件中,并且显然将node_modules目录从您的 Grunt 配置中移除。然后由您的构建过程决定将必要的文件移动到应用程序结构中的正确位置。

于 2013-05-19T22:20:24.110 回答