@gaphest

Как сделать так чтобы при ошибке CSSComb'a таск в GULP'e не вылетал?

В gulpfile.js

gulp.task('sass', function(){
return gulp.src('app/sass/**/*.+(scss|sass)')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('app/css'))
.on('error', sass.logError)
.pipe(browserSync.reload({stream: true}));
});

таск csscomb'a
gulp.task('stylesass', function() {
return gulp.src('app/sass/*.scss')
.pipe(csscomb())
.pipe(gulp.dest('app/sass'));
});

создаю свой таск
gulp.task('watch',['browser-sync','sass','css-libs', 'scripts', 'styles'], function() {
gulp.watch('app/sass/**/*.+(scss|sass)', ['sass','stylesass']); // Наблюдение за scss|sass файлами и в случае их изменения вызов таска sass и stylesass(csscomb)
gulp.watch('app/*.html', browserSync.reload);
gulp.watch('app/js/**/*.js', browserSync.reload);
});

Так вот в случае если csscomb считает что в sass файле есть ошибка (а он так считает прямо во время редактирования sass файла если допустим не успеть дописать значение у параметра ( padding: ;))
то весь мой таск watch прерывается и его приходится запускать заново. Как сделать так чтобы он просто писал ошибку но не прекращал таск
  • Вопрос задан
  • 492 просмотра
Пригласить эксперта
Ответы на вопрос 2
Kublyakov
@Kublyakov
На сколько я знаю, для этого все пользуются https://www.npmjs.com/package/gulp-plumber
Ответ написан
Комментировать
qodunpob
@qodunpob
Look at my code, my code is amazing!
let gutil = require('gulp-util');
...
.pipe(csscomb().on('error', function (e) {
    gutil.log(gutil.colors.red(e.message));
    this.emit('end');
}))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы