使用 plumber 和 utils 处理 gulp 中的错误
handle error in gulp with plumber and utils
将 gulp 与 plumber 模块一起使用,但遇到了问题;下面是我的主要 gulpfile.js
var gulp = require('gulp');
var $ = require("gulp-load-plugins")({
pattern: ['gulp-*', 'gulp.*', 'browserify**'],
replaceString: /\bgulp[\-.]/
});
var src = './app/';
var dest = './env/';
gulp.task('scripts', function(){
return gulp.src([src + '**/*.js'])
.pipe($.plumber(function(error) {
// Output an error message
$.util.log($.util.colors.red('Error (' + error.plugin + '): ' + error.message));
// emit the end event, to properly end the task
this.emit('end');
}))
.pipe($.uglify().on('error', $.util.log))
.pipe($.concat('vendor.min.js'))
.pipe(gulp.dest(dest));
});
运行 gulp scripts
给出错误两次 因为有 $.plumber()
和 $.uglify().on
方法;我想显示成一个,这样错误就可以在控制台中用红色方便地显示出来。如果我发出 .on('error', $.util.log)
而不是执行停止并使应用程序崩溃。
就像魔术一样;大多数时候,每当我提出有关 SO 的问题时,我都会在几次试验中自行找到解决方案。
尝试过并成功
var onError = function (err) {
$.util.log($.util.colors.red('Error (' + err.plugin + '): ' + err.message));
};
以后
gulp.task('scripts', function(){
return gulp.src([src + '**/*.js'])
.pipe($.plumber())
.pipe($.uglify().on('error', onError))
.pipe($.plumber.stop())
.pipe($.concat('vendor.min.js'))
.pipe(gulp.dest(dest));
});
希望对大家有所帮助
将 gulp 与 plumber 模块一起使用,但遇到了问题;下面是我的主要 gulpfile.js
var gulp = require('gulp');
var $ = require("gulp-load-plugins")({
pattern: ['gulp-*', 'gulp.*', 'browserify**'],
replaceString: /\bgulp[\-.]/
});
var src = './app/';
var dest = './env/';
gulp.task('scripts', function(){
return gulp.src([src + '**/*.js'])
.pipe($.plumber(function(error) {
// Output an error message
$.util.log($.util.colors.red('Error (' + error.plugin + '): ' + error.message));
// emit the end event, to properly end the task
this.emit('end');
}))
.pipe($.uglify().on('error', $.util.log))
.pipe($.concat('vendor.min.js'))
.pipe(gulp.dest(dest));
});
运行 gulp scripts
给出错误两次 $.plumber()
和 $.uglify().on
方法;我想显示成一个,这样错误就可以在控制台中用红色方便地显示出来。如果我发出 .on('error', $.util.log)
而不是执行停止并使应用程序崩溃。
就像魔术一样;大多数时候,每当我提出有关 SO 的问题时,我都会在几次试验中自行找到解决方案。
尝试过并成功
var onError = function (err) {
$.util.log($.util.colors.red('Error (' + err.plugin + '): ' + err.message));
};
以后
gulp.task('scripts', function(){
return gulp.src([src + '**/*.js'])
.pipe($.plumber())
.pipe($.uglify().on('error', onError))
.pipe($.plumber.stop())
.pipe($.concat('vendor.min.js'))
.pipe(gulp.dest(dest));
});
希望对大家有所帮助