Как сделать пропуск ошибок в gulp?

Пользователь

от kameron , в категории: JavaScript , 9 месяцев назад

Как сделать пропуск ошибок в gulp?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от bart , 8 месяцев назад

@kameron 

Для того чтобы сделать пропуск ошибок при выполнении задачи в Gulp, можно использовать метод on('error') при объявлении задачи.


Например, если у вас есть задача build, которая собирает и минифицирует CSS файлы, и вы хотите, чтобы она продолжала работать, даже если произойдет ошибка, вы можете сделать следующее:

1
2
3
4
5
6
7
8
9
gulp.task('build', function() {
  return gulp.src('src/css/*.css')
    .pipe(minifyCSS())
    .on('error', function(err) {
      console.log(err.toString()); // вывод ошибки в консоль
      this.emit('end'); // пропуск ошибки и продолжение выполнения задачи
    })
    .pipe(gulp.dest('dist/css'));
});


В данном примере, если произойдет ошибка при минификации CSS файлов, она будет выведена в консоль с помощью метода console.log(), а затем с помощью метода this.emit('end') выполнение задачи будет продолжено, пропустив ошибку.


Обратите внимание, что использование on('error') пропускает ошибку только внутри определенной задачи. Если вы хотите пропустить ошибки во всех задачах Gulp, вы можете использовать модуль gulp-plumber, который предотвращает остановку выполнения задач при ошибках.

1
2
3
4
5
6
7
8
const plumber = require('gulp-plumber');

gulp.task('build', function() {
  return gulp.src('src/css/*.css')
    .pipe(plumber())
    .pipe(minifyCSS())
    .pipe(gulp.dest('dist/css'));
});