Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gulp 如何将一条吞咽管道推到另一条管道上_Gulp - Fatal编程技术网

Gulp 如何将一条吞咽管道推到另一条管道上

Gulp 如何将一条吞咽管道推到另一条管道上,gulp,Gulp,我想通过构建管道处理一系列文件夹。对于每个文件夹,我启动另一个gulp管道来创建一些源文件。最后,我想通过zip()插件将它们连接在一起,以生成最终的工件。 下面的伪代码显示了我的方法。但是,我无法将gulp.src的结果推送到当前管道 return gulp.src(someFolder) .pipe(through(function(folder, enc, cb){ // how to add the result of the foll

我想通过构建管道处理一系列文件夹。对于每个文件夹,我启动另一个gulp管道来创建一些源文件。最后,我想通过zip()插件将它们连接在一起,以生成最终的工件。 下面的伪代码显示了我的方法。但是,我无法将
gulp.src
的结果推送到当前管道

return gulp.src(someFolder)
           .pipe(through(function(folder, enc, cb){
               // how to add the result of the following line to my 
               // own pipeline????
               this.push(gulp.src(path.join(folder, "whatever"))
                             .pipe(somePlugin()));

            }))
            .pipe(zip(....))
            .pipe(gulp.dest(....));
有没有关于如何将这些管道组合在一起的提示?

这正是本文的目的。使用该选项,您发布的代码的等效项如下所示:

var foreach = require('gulp-foreach');

return gulp.src(someFolder)
  .pipe(foreach(function(stream, folder) {
     return gulp.src(path.join(folder.path, "whatever"))
       .pipe(somePlugin());
 }))
 .pipe(zip(....))
 .pipe(gulp.dest(....));
请注意,上述操作将丢弃原始
gulp.src(someFolder)
中的所有文件。它们将不包括在邮政编码中。如果您想保留这些,您可以使用:


这就是我要找的。谢谢,我不知道这个插件。
var foreach = require('gulp-foreach');
var merge = require('merge-stream');

return gulp.src(someFolder)
  .pipe(foreach(function(stream, folder) {
     return merge(stream,
       gulp.src(path.join(folder.path, "whatever"))
         .pipe(somePlugin()));
 }))
 .pipe(zip(....))
 .pipe(gulp.dest(....));