我正在设置一个 gulpfile,用于在开发过程中将多个 JavaScript 文件捆绑到多个包中。
由于我想观看此过程并且如果其中一个文件中存在错误(语法或其他东西)不让它退出,我需要正确地end
向父流发出事件。
为了处理多个文件,我使用了 gulp recipes 中描述的方法。
但是使用它并阅读gulp-tap 上的文档我不确定如何让它将错误发送到父流中。
我想做的是以下几点:
gulp.task('bundle', () => (
gulp.src(['whatevs/*.js'], { read: false })
.pipe($.tap((file) => {
file.contents = browserify( // eslint-disable-line no-param-reassign
file.path,
{ debug: true, fullPaths: true }
).bundle();
}))
.on('error', function handleBrowserifyError(err) {
this.emit('end');
})
.pipe(gulp.dest('bundles/'))
));
如果我将回调传递给bundle()
调用,我可以看到错误,但我不知道如何将它返回到父流中。