作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下命令对 JavaScript 代码进行 linting:
eslint src/**/*.js
这会发现数百个 linting 错误。
我正在尝试使 linting 成为管道的一部分。因此,我为它做了一个 gulp 任务。
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
不会因 linting 错误而失败吗?
最佳答案
如果你需要Gulp来调用任务并等待它完成,那么你需要返回JavaScript Promise来自任务函数。
在本例中,添加关键字 return
在您的gulp.src
之前调用您的 lint 函数意味着 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());
});
关于javascript - 从 gulp 任务执行时,Linting 通过,但应该会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557356/
我是一名优秀的程序员,十分优秀!