使用gulp-sequence和gulp管道工

时间:2016-02-07 14:28:06

标签: error-handling return gulp sequence

关于使用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运行序列时,需要返回,以便序列知道任务何时完成。否则,序列将只是同时运行所有任务。

我可以为观察和构建做两个单独的任务,但这似乎是一个可怕的解决方案。

有人有任何想法可以解决这个问题吗?

1 个答案:

答案 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'))
});