当失败的任务使用stream队列时,Gulp手表退出

我正在看像这样的文件的变化:

gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']); 

我的构build过程的一部分涉及使用“angular-filesort”模块(不要以为这是重要的)。 如果我执行如下任务,并使用pipe道工,当文件系统失败吞咽不退出,“看”将继续检查更新这是我想要的:

 gulp.task('js', function() { gulp.src('./src/js/**/*.js').pipe(plumber()).pipe(angularFilesort()); }); 

但是,如果我用stream队列结束这个过程,当我不想要的时候,gort将会退出,

 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列解决这个问题?

我有一个类似的问题,从streamqueue切换到stream-series解决了我。 它也比streamqueue更干净,因为你不需要指定对象模式。

我发现重新安装节点和升级所有我的软件包解决这个问题。