javascript - Node.js/Gulp - 循环遍历 Gulp 任务

标签 javascript node.js build stream 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);

});

关于javascript - Node.js/Gulp - 循环遍历 Gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664485/

相关文章:

java - 如何在JSP中设置下拉菜单的选择更改值

javascript - 有没有其他方法可以在网页上制作所见即所得编辑器而不使用 designmode 属性?

带有纯 Javascript View 的 PHP MVC : good practice?

visual-studio - Visual Studio,构建失败,没有错误

c++ - VSCode c++ task.json 包含路径和库

javascript - 在 Javascript 中将 NaN 更改为 0

node.js - kurento-utils,一个客户端中有多个 WebRtcPeer

javascript - 如何将 View 加载到变量中?

node.js - 在 Mongoose 中指定模式

c# - 如何在 TFS 自定义构建事件中获取构建项目