为什么 gulp-eslint 不起作用?

Why gulp-eslint doesn't work?

我的 gulpfile 中有这个任务:

gulp.task('js', function () {
return gulp.src('js/main.js')
    .pipe(eslint({

    }))
    .pipe(browserSync.stream());
});

但是当我 运行 它时,控制台是清晰的。

D:\workflow\training\js_learn\task_1>gulp js                                                  
[19:40:51] Using gulpfile D:\workflow\training\js_learn\task_1\gulpfile.js                    
[19:40:51] Starting 'js'...                                                                   
[19:40:51] Finished 'js' after 302 ms                                                         

但我知道,我的 JS 有错误

这是我使用的任务。它运作良好。也许您的问题是由于您将空选项对象传递给 eslint()?

var eslint = require('gulp-eslint');

return gulp
    .src(config.path.js)
    .pipe(eslint())
    .pipe(eslint.format());

默认情况下 eslint 不强制执行任何规则。要获得快速解决方案,请尝试使用 eslint 创建一个 .eslintrc 文件,然后根据需要对其进行自定义。

  1. npm install -g eslint // 你可能需要 sudo 进行全局安装,但你应该修复
  2. eslint --init // 回答问题

然后根据您需要的任何规则编辑您的 .eslintrc 文件(参见 http://eslint.org/docs/rules/

我在 所有文件 上使用 eslint 时遇到了一些问题。但主要是为了慢!

我认为的解决方案?
仅检查您当前处理的 暂存 git 文件

我看到了一些这样做的解决方案,但它们都有一个问题:它们仍然太慢了!
他们中的大多数人试图对每个文件使用 git 状态来查看我们是否应该对其进行 lint ..所以问题仍然是我们对我们没有处理的文件进行了一些操作..

所以我尝试在我们的项目中这样做,下面是我所做的示例: gulp-eslint-precommit
它非常快,因为它只执行 1 git 状态操作,然后只检查需要的文件。

它也使用 Google's js style guide 所以不需要定义你自己的规则.. 只需使用 Google 使用的..

希望对您有所帮助:-)