2016-11-11 9 views
2

Я использую gulp-concat и функцию sourcemap для некоторых файлов CSS. Я использую сантехник, чтобы поймать любые ошибки синтаксиса в исходных файлах. Моя проблема - сантехник не предупреждает меня об ошибках при использовании gulp-concat. Если я переключусь на gulp-concat-css, обработка ошибок будет прекрасна, но я потеряю функциональность sourcemap. Мой код ниже:Ошибки синтаксиса CSS Gulp терпят неудачу с использованием gulp-concat и gulp-plumber

var concat = require('gulp-concat'); 
var concatCss = require('gulp-concat-css'); 
var gulp = require('gulp'); 
var plumber = require('gulp-plumber'); 
var sourcemaps = require('gulp-sourcemaps'); 
var watch = require('gulp-watch'); 

gulp.task('styles', function() { 
    return gulp.src('src/*.css')  
    .pipe(plumber()) 
    .pipe(sourcemaps.init())  
    .pipe(concat('styles.css'))   
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('dist/css')) 
}); 

gulp.task('watch', function() { 
    gulp.watch('src/*.css', ['styles']) 
}); 

gulp.task('default', ['styles', 'watch']); 

ответ

0

В прошлом я использовал параметр errorHandler, который предоставляет сантехник. Это будет выглядеть примерно так в вашем коде:

var onError = function (err) { 
    console.log(err); 
}; 

gulp.task('styles', function() { 
    return gulp.src('src/*.css')  
    .pipe(plumber({ 
     errorHandler: onError 
    })) 
    .pipe(sourcemaps.init())  
    .pipe(concat('styles.css'))   
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('dist/css')) 
}); 

Надеюсь, это поможет.