为什么通过Grunt运行Google JavaScript Linter会失败

Why does running Google JavaScript Linter via Grunt fail?

本文关键字:JavaScript Linter 失败 Google 运行 Grunt 为什么      更新时间:2023-09-26

我们使用gjslinter和Grunt来lint项目中的所有js文件。

Gruntfile.js中的配置如下所示:

gjslint: {
    options: {
        flags: ['--disable 220,110,200'],
        reporter: {
            name: 'gjslint_xml',
            dest: '<%= pkg.docs %>/gjslint/gjslint.xml'
        }
    },
    all: {
        src: ['<%= pkg.src %>/assets/js/modules/**', '<%= pkg.src %>/assets/js/lib/jquery/plugins/jquery-hse/**']
    }
}

但是当我开始检查时,它失败了:

$ grunt gjslint Running "gjslint:all" (gjslint) task
Warning: Task "gjslint:all" failed. Use --force to continue.
Aborted due to warnings.

为什么?路径应正确。不再有错误消息或报告。我该如何调试?

我按照以下步骤找到了解决方案(在 Windows 10 上):

  1. 已安装的 Python2.7 https://www.python.org/downloads/
  2. 添加了 Python 安装目录C:/Python27以及C:/Python27/Scripts PATHPYTHONPATH环境变量
  3. 通过在命令行中运行以下命令来安装Google JavaScript Linter:

    pip install https://github.com/google/closure-linter/zipball/master

  4. 更改了咕噜声的报告器设置:

(咕噜

咕噜.js):

reporter: {
    name: 'console' //report to console
}

现在我在控制台中收到正确的错误消息,当运行grunt gjslint.它向我显示有一个 min.js 文件,其中包含一些无效代码。因此,我通过为最小文件添加例外.js将其从 Gruntfile 中删除:

src: [
  '<%= pkg.src %>/assets/js/modules/**/*.js',
  '<%= pkg.src %>/assets/js/lib/jquery/plugins/jquery-hse/**/*.js',
  '!<%= pkg.src %>/assets/js/**/*.min.js'
]

这解决了问题!