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 次 |
| 最近记录: |