Chu*_*utt 2 npm uglifyjs gulp gulp-uglify
我的Gulp设置在其他方面非常有效,但如果我的JS文件出错,它会停止.直到Gulp 4终于发布之前,我们都被困在Gulp中使用不完美的错误系统......那么我怎么能抓住Uglify的错误呢?
gulp.task('js', function() {
return gulp
.src(inputJS)
.pipe(sourcemaps.init())
.pipe(concat('main.js'))
.pipe(uglify(uglifyOptions))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest(outputJS))
});
Run Code Online (Sandbox Code Playgroud)
根据Uglify文档,gulp-uglify
如果无法缩小特定文件,则会发出"错误"事件.只要有可能,PluginError
对象将包含以下属性:fileName
,lineNumber
,message
.
我最接近它的工作是:.on('error', function(uglify) { console.error(uglify.message) }))
,但它结束了上面的Gulp任务不再做了.
编辑:我意识到有许多Gulp扩展有助于处理错误处理(例如Gulp-Util,Stream-Combiner2,Gulp-Plumber等)但我不希望安装一个全新的扩展仅用于Uglify(我正在处理我的Sass错误,没有一个).
Chu*_*utt 10
似乎解决方案非常简单:
.pipe(uglify(uglifyOptions).on('error', function(uglify) {
console.error(uglify.message);
this.emit('end');
}))
Run Code Online (Sandbox Code Playgroud)
几乎就是杰夫瓦建议的,但没有必要gulp-plumber
.我的尝试停止的原因是因为Gulp watch
任务等到他们收到end
(参见:https://github.com/gulpjs/gulp/issues/259).
归档时间: |
|
查看次数: |
2600 次 |
最近记录: |