2014-07-22 33 views
2

我得到一个永不完成的任务。它打印开始信息,但不是结束信息。但是,如果我将流传输给gulp-debug,它已经修复并且现在可以神奇地工作了。流的任何错误?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 
    ; 
}); 
+0

我不得不[类似的麻烦(http://stackoverflow.com/questions/26206538/why-do-some-gulp-streams-flow-by-default-while-others-do-not) – hurrymaplelad

回答

3

既然你回来从你的任务流(的merge结果)咕嘟咕嘟等待要倒掉此流。但看着你的Gulp任务,没有人从合并流中读取数据,所以它永远不会结束,因此你的任务永远不会结束。添加debug帮助,因为我猜它消耗流。

这与咕嘟咕嘟流工作不是显而易见的一部分,但它是会得到这个承诺在Orchestrator中更好:https://github.com/orchestrator/orchestrator/commit/1d9926dc28087ae5de5fdd904ae6111966cb4ea6。不知道什么时候这个人会是官方发布咕嘟咕嘟的一部分,所以现在你可以做那些中的任何一个:

  • 不使用流合并,并把您目前合并到一个单独的各管一饮而尽任务
  • 漏合并的流

编辑:实际上它看起来像一口有指定为^0.3.0所以只更新您的NPM的依赖可能会解决这个问题的Orchestrator的依赖。