我正在使用此命令对我的JavaScript代码进行处理:
eslint src/**/*.js
这会发现数百个linting错误。
我正在尝试使用linting管道的一部分。因此,我为它做了一大笔任务。
const gulp = require('gulp');
const eslint = require('gulp-eslint');
gulp.task('lint', () => {
gulp.src(['src/**/*.js'])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});
但是,当我运行gulp lint
时,它会通过:
Starting 'lint'...
Finished 'lint' after 35 ms
我不明白为什么会过去。我也试过这个:
gulp.task('lint', () => {
gulp.src(['src/**/*.js'])
.pipe(eslint())
});
但这也过去了。
知道为什么gulp lint
没有失败并出现掉毛错误?
答案 0 :(得分:1)
如果您需要Gulp来调用任务并等待它完成,那么您需要从任务功能返回JavaScript Promise。
在这种情况下,在 lint 函数中return
调用之前添加关键字gulp.src
意味着gulp.src
返回的Promise传递给Gulp使用的基本机制,因此,Gulp可以从您的linting过程中获得结果。
const gulp = require('gulp');
const eslint = require('gulp-eslint');
gulp.task('lint', () => {
return gulp.src(['src/**/*.js'])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});