我对一些CSS文件使用了gulp-concat和sourcemap功能。我使用管道工来捕获源文件中的任何语法错误。我的问题是水管工在使用gulp-concat时没有警告我错误。如果我切换到gulp-concat-css错误处理工作正常,但我失去了源地图功能。我的代码如下:
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']);
过去,我使用了plumber提供的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'))
});
希望能有所帮助。