为什么gulp-eslint不起作用?

时间:2015-09-09 16:45:07

标签: javascript gulp frontend lint

我在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中存在错误

3 个答案:

答案 0 :(得分:4)

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

  1. npm install -g eslint //您可能需要sudo进行全局安装,但是您应该修复
  2. eslint --init //回答问题
  3. 然后根据您需要的规则编辑.eslintrc文件(请参阅http://eslint.org/docs/rules/

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:0)

我在所有文件上使用eslint有几个问题..但主要是它只是为了缓慢!

我认为解决方案?
仅提示您当前正在处理的暂存的git文件

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

所以我试着在我们的项目中做到这一点,这是我做的例子: gulp-eslint-precommit
它非常快,因为它只进行1个git状态操作,然后只提取所需的文件。

它还使用Google's js style guide,因此无需定义自己的规则。只需使用Google使用的内容..

我希望这会有所帮助: - )