吞下json对象的循环

时间:2015-12-31 03:03:29

标签: json gulp gulp-concat

我在项目的顶部定义了所有路径,

var paths = {
  scripts: ['./js/main.js', './js/datetimepicker.js'],
  styles: ['./stylesheets/style.scss', './stylesheets/datetimepicker/datetimepicker.css', './stylesheets/vis/vis.css'],
  images: ['img/**/*'],
  libs: ['./js/*.min.js', './img/*', './fonts/FontAwesome/*'],
  compress: ['./css/**', './fonts/FontAwesome/**', './img/**', './js/main.min.js', './js/bootstrap.min.js'],
  concat: [{
    'src': './web-src/js/services*.js',
    'name': 'services.js'
  }]
};

我的问题是,当我调用paths.concat[0].src时,我被迫指定数组中我想要的索引。所以当我调用我的concat任务时,

gulp.task('concat', function () {
  return gulp.src(paths.concat[0].src)
    .pipe(concat(paths.concat[0].src))
    .pipe(gulp.dest('./dist/'));
});

定义路径没有帮助。循环任务的“最佳实践”方法是什么?

由于

1 个答案:

答案 0 :(得分:2)

我用

完成了这个
gulp.task('concat', function () {
    return paths.concat.forEach(function(obj) {
        return gulp.src(obj.src)
            .pipe(concat(obj.name))
            .pipe(rename(function (path) {
                path.basename += '.min';
                return path;
            }))
            .pipe(gulp.dest('./web/js'));
    });
});