Javascript 如何在gulp中实现多源中游

Javascript 如何在gulp中实现多源中游,javascript,gulp,Javascript,Gulp,我的情况是,我需要通过一系列任务从多个文件夹中提取文件,最终生成一个文件 假设我有两种不同类型的源,源类型A和B。“A”源需要丑化/缩小,而B源不丑化/缩小(它们已经丑化了)。最终,我希望A和B都连接在一起。如何通过gulp和gulp插件实现这一点 var aSources = gulp.src(...) .pipe(uglify()); var bSources = gulp.src(...); return ?????.pipe(concat(...)

我的情况是,我需要通过一系列任务从多个文件夹中提取文件,最终生成一个文件

假设我有两种不同类型的源,源类型A和B。“A”源需要丑化/缩小,而B源不丑化/缩小(它们已经丑化了)。最终,我希望A和B都连接在一起。如何通过gulp和gulp插件实现这一点

var aSources = gulp.src(...)
                   .pipe(uglify());
var bSources = gulp.src(...);

return ?????.pipe(concat(...)).pipe(gulp.dest(...));
我已经尝试使用事件流插件来合并两个流:这会导致“a”流在合并时重放,因此结果是a流重复。

您可以使用“合并流”

或“吞咽,如果”:

或“大口添加src”:


由于我在作品中提到的原因,第一种解决方案不起作用。第二种解决方案感觉更像是黑客。第三个解决方案看起来像是一个赢家,虽然我很难过它没有来核心与吞咽!谢谢@MartinBliss您如何使用
合并流
?“重播”行为听起来很可疑。@Terinjoke我使用默认值并调用函数,就像许多示例中使用两个参数一样,每个源流一个参数。当然,当创建流时,它们会立即执行,然后在合并流上,每个流管道都会再次执行。
mergeStream([streamA, streamB]).pipe(concat(...))...
gulp.src([sources])
    .pipe(gulpIf(/[.]js$/, uglify))
    .pipe(concat(...))
gulp.src(source1).pipe(uglify()).pipe(gulAddSrc(source2))