5

通过以下设置,jsHint 不会抱怨console.log语句,但仍会报告debugger语句:

jshint: {
      files: [
        'Gruntfile.js',
        'js/**/*.js',
        'tests/*.js',
      ],
      options: {
        curly: true,
        immed: true,
        noarg: true,
        expr: true,
        quotmark: 'single',
        maxdepth: 3,
        browser: true,
        eqnull: true
      }
    },
4

3 回答 3

8

据我所知,JSHint 从未警告过对console. 那里没有专门处理此类引用的代码。

console被简单地视为一个标识符,应该从它所引用的任何上下文中定义和访问(这是正确的,因为这就是它的全部内容)。

因此,您可以通过让 JSHintconsole警告所有未定义的变量来警告其使用情况。只需将undef选项设置为true.

然后,如果您想允许使用console,您可以将其添加到您的globals指令中或将devel选项设置为true(隐式将其添加到您的globals指令中)。

于 2013-05-02T12:11:36.007 回答
3

我也有这个问题。

我已经"undef"开始了true,但它仍然没有用。

我试过"devel"无济于事。

最后 - 我只是"globals"像这样使用变量:

"globals" : { 
         "console": true
}

这就是诀窍。

于 2014-02-09T16:19:18.630 回答
2

我遇到了这个问题,我想要对console、 和undef: true的引用发出警告devel: false,但仍然没有收到警告。原来是我也有node: true,它取消了那个警告。改成之后就可以node: false了!

于 2013-08-14T16:37:59.960 回答