关于使用gulp-sequence和gulp-plumber,我遇到了一个奇怪的问题。为了让大口水管工停下来" gulp watch"当遇到错误时断开任务,gulp任务需要有" return"从任务开始时删除。
例如(需要以大写字母删除的返回)
gulp.task('sass:dev', function() {
RETURN gulp.src(assets_sass)
.pipe(plugins.plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(plugins.sass())
.pipe(gulp.dest(dist_css));
});
当使用gulp-sequence运行序列时,需要返回,以便序列知道任务何时完成。否则,序列将只是同时运行所有任务。
我可以为观察和构建做两个单独的任务,但这似乎是一个可怕的解决方案。
有人有任何想法可以解决这个问题吗?
答案 0 :(得分:0)
可以通过两个选项调用水管工,其中一个选项是' errorHandler' - ref。我正在返回流以顺序运行此任务并且其工作正常。
gulp.task('sass', function() {
return gulp.src('public/css/*.scss')
.pipe(plumber({
errorHandler: function(err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sass())
.pipe(gulp.dest('dist/css'))
.pipe(rename({
suffix: '.min'
}))
.pipe(minifycss())
.pipe(gulp.dest('dist/css'))
});