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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от bernardo_nolan , 7 месяцев назад

@steve 

В Gulp есть несколько способов обрабатывать ошибки и делать пропуск при их возникновении:

  1. Метод gulp-plumber позволяет предотвратить прерывание выполнения задачи при ошибке. Для этого достаточно добавить этот плагин перед любой другой задачей:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const gulp = require('gulp');
const plumber = require('gulp-plumber');
const uglify = require('gulp-uglify');

gulp.task('scripts', function() {
  return gulp.src('js/*.js')
    .pipe(plumber())
    .pipe(uglify())
    .pipe(gulp.dest('build/js'));
});


  1. Метод gulp-ignore позволяет пропускать файлы, которые вызывают ошибки. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const gulp = require('gulp');
const jshint = require('gulp-jshint');
const ignore = require('gulp-ignore');

gulp.task('lint', function() {
  return gulp.src('js/*.js')
    .pipe(jshint())
    .pipe(ignore.exclude('*.min.js'))
    .pipe(jshint.reporter('default'));
});


  1. Метод gulp-if позволяет условно выполнять задачи в зависимости от того, вызывает ли файл ошибку или нет:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const gulp = require('gulp');
const jshint = require('gulp-jshint');
const uglify = require('gulp-uglify');
const ifElse = require('gulp-if-else');

gulp.task('scripts', function() {
  return gulp.src('js/*.js')
    .pipe(jshint())
    .pipe(ifElse(
      function(file) { return file.jshint.success; },
      uglify()
    ))
    .pipe(gulp.dest('build/js'));
});


Эти методы позволяют сделать пропуск ошибок в Gulp и продолжить выполнение задачи в случае их возникновения.