次のようなファイルの変更を監視しています。
gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']);
私のビルド プロセスの一部には、「angular-filesort」モジュールの使用が含まれます (ただし、これは重要ではないと思います)。次のようにタスクを実装して配管工を使用すると、filesort が失敗したときに gulp が終了せず、「監視」が必要な更新をチェックし続けます。
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())
)
});
どうすればこれを修正できますか?
具体的には、JavaScript ファイルの 3 つの異なるセットを処理し、それらを連結するために、次のようなことを行っています。
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.
この問題を回避するために、streamqueue を使用せずに上記を実行できる方法はありますか?