javascript - Gulp.js : task based on forEach loop

标签 javascript gulp gulp-concat

我有一个对象数组,如下所示。

var bundles = [
  {
    src: 'js/my-component/*.js',
    bundleName: 'my-component.js'
  },
  {
    src: 'js/my-other-component/*.js',
    bundleName: 'my-other-component.js'
  }
]

我希望 gulp 任务处理/连接数组中的每个条目,但它似乎不起作用。

gulp.task('bundlejs', function(){
    return bundles.forEach(function(obj){
      return gulp.src(obj.src)
      .pipe(concat(obj.bundleName))
      .pipe(gulp.dest('js/_bundles'))
    });
});

最佳答案

您可能应该合并流并返回结果,以便任务将在适当的时间完成:

var es = require('event-stream');

gulp.task('bundlejs', function () {
  return es.merge(bundles.map(function (obj) {
    return gulp.src(obj.src)
      .pipe(concat(obj.bundleName))
      .pipe(gulp.dest('js/_bundles'));
  }));
});

关于javascript - Gulp.js : task based on forEach loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32046344/

相关文章:

javascript - 在网页上显示Kafka消息

node.js - 使用基本目录时 Gulp 不复制文件

javascript - gulp-concat:如何确保文件最后连接?

javascript - 使用 Bootstrap : How to add a class when object is visible-xs visible-sm?

javascript - 在函数中存储变量?

javascript - Protractor 在操作后检查控制台是否有错误

wordpress - Docker 和 BrowserSync

javascript - Gulp 任务未按预期工作

javascript - gulp-concat 和 lazypipe 的这种组合在使用 gulp 4 时会导致错误吗?

Gulp 附加到文件,而不是覆盖