0

我已经在我的 gruntfile.js 中设置了grunt-eslint,但是当我运行“grunt eslint”时,什么也没发生。该任务看起来会开始,但即使在 15 分钟后仍然静止不动。

我所有的其他任务都很好,除了 eslint 没有显示任何错误或任何东西。

gruntfile.js

module.exports = function(grunt) {
  grunt.initConfig({
   eslint: {
    options: {
      configFile: '.eslintrc.json'
    },
    target: ['src/js/*.js']
   },
  })

  grunt.loadNpmTasks('grunt-eslint');

  grunt.registerTask('eslint', [
    'eslint',
  ]);
}

.eslintrc.json

{
  "env": {
    "browser": true
  },
  "extends": "eslint:recommended",
  "rules": {
    "indent": [
        "error",
        "tab"
    ],
    "linebreak-style": [
        "error",
        "windows"
    ],
    "quotes": [
        "error",
        "double"
    ],
    "semi": [
        "error",
        "always"
    ]
  }
}

gruntfile 和 .eslintrc.json 都在根目录下

有谁知道会导致这种情况的原因是什么?我的设置错了吗?

4

2 回答 2

2

我有同样的问题。

如果在运行时添加 --verbose 选项:

grunt eslint --verbose

你会看到你的任务在重复运行——因为你将你的任务命名为 eslint(与已经注册的 eslint 任务同名)grunt 陷入了无限循环。

改变

 grunt.registerTask('eslint', [
    'eslint',
  ]);

至:

 grunt.registerTask('myeslinttask', [
    'eslint',
  ]);

并运行:

grunt myeslinttask
于 2018-09-23T10:30:06.667 回答
0

的问题:

grunt.registerTask('eslint', ['eslint', ]);

是它会永远调用它自己,只需删除这个 registerTask 命令并运行 grunt eslint 就足够了

于 2020-01-30T10:26:36.827 回答