我试图用gulp制作Javascript多目标构建系统。我的gulpfile有一个片段:
gulp.task('lint', function () {
targets.map(function (item) {
gulp.src(item.src)
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'));
});
});
// clean destination folders
gulp.task('clean', ['lint'], function () {
targets.map(function (item) {
gulp.src([item.dst+'/'+item.file, item.dst+'/'+item.minfile], {read: false})
.pipe(clean());
});
});
targets数组包含每个目标的预定义配置,这些目标是用gulp-yarg确定的,它们可以是--admin,-users或--all。有用。 我希望仅当任务棉绒没有错误时才执行任务清除。换句话说:不要清除上一个工作版本。
但是我无法在jshint失败之后停止它,在lint停止之前并行执行clean。
我尝试使用gulp-if / gulp-fail停止它。而且我尝试使用gulp-plumber并设置errorHandler ...但仍然执行任务清除。
您能建议在jshint停止(或不停止)之前进行一些清洁工作吗?