@steve
В Gulp есть несколько способов обрабатывать ошибки и делать пропуск при их возникновении:
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 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 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 и продолжить выполнение задачи в случае их возникновения.
@steve
Если вы хотите обрабатывать ошибки внутри задачи, вы можете использовать конструкцию try-catch:
1 2 3 4 5 6 7 8 9 10 11 12 |
const gulp = require('gulp'); const uglify = require('gulp-uglify'); gulp.task('scripts', function() { try { return gulp.src('js/*.js') .pipe(uglify()) .pipe(gulp.dest('build/js')); } catch (error) { // Обработка ошибки } }); |
Таким образом, в случае возникновения ошибки при выполнении задачи, она будет перехвачена и обработана в блоке catch. Вы можете выполнить любые необходимые действия внутри блока catch, например, вывести сообщение об ошибке или продолжить выполнение задачи.
Если вы хотите обернуть всю вашу сборку Gulp в try-catch, вы можете сделать следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
const gulp = require('gulp'); const uglify = require('gulp-uglify'); try { // Ваши задачи Gulp gulp.task('scripts', function() { return gulp.src('js/*.js') .pipe(uglify()) .pipe(gulp.dest('build/js')); }); // Другие задачи и настройки } catch (error) { // Обработка ошибки } |
В этом случае блок try-catch оборачивает все ваше Gulp-приложение, и любая ошибка, возникающая внутри задач, будет обработана в блоке catch.