Grunt JSHint - 不检查缩进

时间:2014-10-08 15:26:04

标签: gruntjs jshint grunt-contrib-jshint

我将indent设置为4.如果我删除源文件中的所有缩进,JSHint就不会失败。它会检查除缩进之外的所有其他内容。如何检查缩进?

此外,我已经安装了jshint-eclipse插件,它也无法使用!

以下是我的GruntFile的摘录:

// Make sure code styles are up to par and there are no obvious mistakes
jshint: {
  options: {
    jshintrc: '.jshintrc',
    reporter: require('jshint-stylish')
  },
  all: {
    src: [
      'Gruntfile.js',
      '<%= yeoman.app %>/scripts/{,*/}*.js'
    ]
  },
  test: {
    options: {
      jshintrc: 'test/.jshintrc'
    },
    src: ['test/spec/{,*/}*.js']
  }
},

我的jshint:

{
  "node": true,
  "browser": true,
  "esnext": true,
  "bitwise": true,
  "camelcase": true,
  "curly": true,
  "eqeqeq": true,
  "immed": true,
  "indent": 4,
  "latedef": true,
  "newcap": true,
  "noarg": true,
  "quotmark": "single",
  "regexp": true,
  "undef": true,
  "unused": true,
  "strict": true,
  "trailing": true,
  "smarttabs": false,
  "globals": {
      "angular": false
   }
}

1 个答案:

答案 0 :(得分:1)

tl; dr:npm install grunt-contrib-jshint@0.9.2


原来这是How can I make jshint indent options work的欺骗。

没有接受的答案,但是the only answer present表明这是安装的JSHint版本的问题。 2.5.0放弃了对indent选项和其他一些风格的支持。

当我刚刚正常安装grunt-contrib-jshint时,我得到版本0.10.0并且遇到与OP相同的问题(因为0.10.0取决于JSHint 2.5.0);当我改为安装grunt-contrib-jshint@0.9.2(最后一个使用JSHint 2.4.0的版本)时,我的结果会出现一堆缩进错误(正如预期的那样)。