我正在使用browserify,所以我可以在我的前端代码中使用 npm 模块,并gulp来完成我的构建任务。这工作正常:
var browserify = require('gulp-browserify');
gulp.task('js', ['clean'], function() {
gulp
.src('./public/js/src/index.js')
.pipe(browserify({
insertGlobals : true,
debug : ! gulp.env.production
}))
.pipe(gulp.dest('./public/js/dist'))
});
但是,如果我的 JS 中有语法错误,我希望通过 OS X 通知收到错误通知。我已经看到了这个类似的问题,并修改了我的代码以在.on('error'...)
后面添加一个.browserify()
:
// Browserify/bundle the JS.
gulp
.src('./public/js/src/index.js')
.pipe(browserify({
insertGlobals : true,
debug : ! gulp.env.production
}).on('error', function(err){
notify.onError({
message: "Error: <%= error.message %>",
title: "Failed running browserify"
}
this.emit('end');
})
.pipe(gulp.dest('./public/js/dist'))
但是,当我的 JS 损坏时,这不会通知。在里面添加一个 console.log()on('error',...)
也不会记录。我怀疑是因为这个问题不涉及使用 gulp 管道。
如何在管道到 gulp browserify 时收到错误通知?