Gulp 吞咽调试修复流

Gulp 吞咽调试修复流,gulp,Gulp,我得到了一个永远无法完成的任务。它打印开始消息,但不打印结束消息。然而,如果我通过管道将流传输到gulp debug,它就被修复了,现在神奇地工作了。有什么问题吗?这条小溪怎么了 gulp.task('copy-src-mobile',function(){ return merge( gulp.src('./Web/app/**') .pipe(replace(/\/app\//g,'app\/')) .pipe(replace(trunacteAbsol

我得到了一个永远无法完成的任务。它打印开始消息,但不打印结束消息。然而,如果我通过管道将流传输到gulp debug,它就被修复了,现在神奇地工作了。有什么问题吗?这条小溪怎么了

gulp.task('copy-src-mobile',function(){

  return merge(
    gulp.src('./Web/app/**')
      .pipe(replace(/\/app\//g,'app\/'))
      .pipe(replace(trunacteAbsoluteUrlRegex,'$1=$2'))
      .pipe(gulp.dest(deployTo + 'app'))
    ,gulp.src('Web/js/**').pipe(gulp.dest(deployTo+'js'))
    ,gulp.src('Web/fonts/**').pipe(gulp.dest(deployTo+'fonts'))
    ,gulp.src('Web/img/**').pipe(gulp.dest(deployTo+'img'))
    ,gulp.src('Web/css/**.css').pipe(gulp.dest(deployTo+'css'))
  )
  .pipe(debug({verbose: false})) //If I comment this out, the task never finishes
  ;
});

由于您正在从任务返回一个流(合并的结果),Gulp将等待该流被排出。但是看着你的吞咽任务,没有人从合并的流中读取,所以它永远不会结束,因此你的任务永远不会完成。添加
debug
会有所帮助,因为我猜它会耗尽流

这并不是在Gulp中处理流的明显部分,但在orchestrator中使用此提交将变得更好:。不确定这一次什么时候会成为官方发布的一部分,因此现在您可以执行以下任一操作:

  • 不要使用流合并并将当前正在合并的每个管道放入单独的“吞咽”任务中
  • 排出合并的流
编辑:实际上,gulp似乎依赖于指定为
^0.3.0
的Orchestrator,因此只需更新npm依赖项就可以解决问题。