2015-08-17 17 views
9

Tôi có một loạt các đối tượng trông giống như sau.Gulp.js: công việc dựa trên vòng lặp forEach

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

Tôi muốn tác vụ gulp xử lý/concat mọi mục nhập trong mảng, nhưng có vẻ như nó không hoạt động.

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

Bất kỳ bản ghi lỗi? – Rokie

Trả lời

11

Bạn có lẽ nên được sáp nhập các suối và trở về kết quả, do đó nhiệm vụ sẽ hoàn thành vào thời điểm thích hợp:

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')); 
    })); 
}); 
+0

Cảm ơn Ben, tôi sẽ thử điều này. – gkiely

+0

Tôi đã đánh dấu đây là câu trả lời vì nó đã nêu bật phương pháp hay nhất để cấu trúc mã mà tôi đã gửi. Vấn đề tôi gặp phải là lỗi chính tả dưới đây. – gkiely

Các vấn đề liên quan