我正在监视以下文件的更改:
gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']);
我的构建过程的一部分涉及使用“ angular-filesort”模块(不过,不要认为这很重要)。如果我按照以下方式执行任务并使用水管工,则当filesort失败时,gulp不会退出,并且“ watch”将继续检查我想要的更新:
gulp.task('js', function() {
gulp.src('./src/js/**/*.js').pipe(plumber()).pipe(angularFilesort());
});
但是,如果我将此过程包装在流队列中,则当文件排序失败时,gulp将退出,这是我不希望的:
gulp.task('js', function() {
streamqueue({
objectMode: true
},
gulp.src('./src/js/**/*.js').pipe(plumber()).pipe(angularFilesort())
)
});
我怎样才能解决这个问题?
具体来说,我正在执行以下操作来处理3组不同的JavaScript文件,然后将它们简明扼要:
streamqueue({
objectMode: true
},
gulp.src(config.vendor.js),
gulp.src('./src/js/**/*.js').pipe(angularFilesort()),
gulp.src(['src/templates/**/*.html']).pipe(templateCache({
module: mainAngularModuleName
})))
.pipe(sourcemaps.init())
.pipe(concat('app.js'))
etc.
也许有一种方法可以我完成上述工作而无需解决此问题?
最佳答案
我遇到了类似的问题,从流队列切换为stream-series为我解决了该问题。它比流队列还干净,因为您无需指定对象模式。