Javascript 使用循环运行Gulp任务

Javascript 使用循环运行Gulp任务,javascript,gulp,Javascript,Gulp,我的吞咽任务有问题。我使用一个任务创建多个带有大胡子的html文件,这样我在最后有两个文件(index_de.html和index_en.html)。我有一个.json文件,其中包含字符串。一切都很好。但我总是以de或en两个文件结束,而不是每种语言一个文件。我已经试过了,但没用 编辑:澄清:两个文件包含相同的内容。总是。似乎是随机的语言,但总是一样的 我的吞咽任务如下所示: gulp.task('mustache', function () { console.log('Found '+O

我的吞咽任务有问题。我使用一个任务创建多个带有大胡子的html文件,这样我在最后有两个文件(index_de.html和index_en.html)。我有一个.json文件,其中包含字符串。一切都很好。但我总是以de或en两个文件结束,而不是每种语言一个文件。我已经试过了,但没用


编辑:澄清:两个文件包含相同的内容。总是。似乎是随机的语言,但总是一样的

我的吞咽任务如下所示:

gulp.task('mustache', function () {
  console.log('Found '+Object.keys(strings).length+' languages.');
  for (var l in strings) {
    var lang = strings[l];
    (function(lang, l) {
    gulp.src(buildpath+'/index.html')
      .pipe(mustache(lang))
      .pipe(rename('index_'+l+'.html'))
      .pipe(compressor({
        'remove-intertag-spaces': true,
        'compress-js': true,
        'compress-css': true
      }))
      .pipe(gulp.dest(destpath+'/'));
    })(lang, l);
  }
});
你可以试试

var async=require('async');
吞咽任务(“构建”,功能(完成){
var任务=[];
对于(变量i=0;i
我认为这里的一个选项是合并一系列
gulp.src()
流并返回合并后的流。下面是修改后的代码,以使用
合并流
npm包()


如何在同一目录中有两个同名文件?还是说两个文件的内容相同?两个文件包含相同的内容。总是。看起来它是什么语言,但总是一样的。
buildpath
来自哪里?它的价值是什么?
var async = require('async');

gulp.task('build', function (done) {
 var tasks = [];
    for (var i = 0; i < config.length; i++) {
        tasks.push(function () {
            var tmp = config[i];
            return function (callback) {
                gulp.src(tmp.src)
                  .pipe( blah blah blah
                  ))
                  .pipe(gulp.dest(tmp.dest))
                  .on("end", callback);
            }
        }());
    }
    async.parallel(tasks, done);
});
var mergeStream = require('merge-stream');

gulp.task('mustache', function () {
    console.log('Found ' + Object.keys(strings).length + ' languages.');
    var tasks = [];
    for (var l in strings) {
        var lang = strings[l];
        tasks.push(
            gulp.src(buildpath + '/index.html')
                .pipe(mustache(lang))
                .pipe(rename('index_' + l + '.html'))
                .pipe(compressor({
                    'remove-intertag-spaces': true,
                    'compress-js': true,
                    'compress-css': true
                }))
                .pipe(gulp.dest(destpath + '/'))
        );
    }
    return mergeStream(tasks);
});