Node.js / Gulp-遍历Gulp任务

我想遍历一个对象,并在每次迭代时将文件路径数组传递给gulp.src,然后对这些文件进行一些处理。下面的代码仅用于说明目的,因为return语句会在第一次通过时终止循环,因此实际上将无法工作。

gulp.task('js', function(){

for (var key in buildConfig.bundle) {

return gulp.src(bundleConfig.bundle[key].scripts)

.pipe(concat(key + '.js'));

// DO STUFF

}

});

这是基本思想。有关如何执行此操作的任何想法?

回答:

我能够使用合并流实现这一目标。如果有人感兴趣,这里是代码。这个想法是在循环内创建一个流数组,并在完成迭代后合并它们:

var merge = require('merge-stream');

gulp.task('js', function(){

// Init vars

var jsBundleStreams = [];

var i = 0;

// Create array of individual bundle streams

for (var key in buildConfig.bundle) {

jsBundleStreams[i] = gulp.src(bundleConfig.bundle[key].scripts)

.pipe(concat(key + '.js'))

.pipe(gulp.dest('./public/papasteftest/'));

i++;

}

// Merge and return streams

return merge.apply(this, jsBundleStreams);

});

以上是 Node.js / Gulp-遍历Gulp任务 的全部内容, 来源链接: utcz.com/qa/404536.html

回到顶部