2016-02-07 2 views
1

У меня возникла странная проблема с использованием последовательности gulp с водопроводчиком. Чтобы gulp-plumber остановил задачу «gulp watch» от взлома при возникновении ошибки, задача gulp должна иметь «возврат», удаленный с начала задачи.Использование последовательности gulp с водопроводным водопроводом

Для возврата (например, который должен быть удален в шапках)

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)); 
}); 

При выполнении последовательности с использованием Глотком-последовательности, возвращающей необходимо так, чтобы последовательность знает, когда задача выполнена. В противном случае последовательность будет просто запускать все задачи одновременно.

Я мог бы сделать две отдельные задачи для просмотра и сборки, но это кажется ужасным решением.

У кого-нибудь есть идеи обойти это?

ответ

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')) 
}); 
+0

Ничего себе, поэтому изменение «handleError» на «errorHandler» решило проблему. Я предполагаю, что разница в том, что errorHandler позволяет продолжить работу, поэтому не нарушает задачу просмотра. Благодаря! – Mikey

Смежные вопросы