2014-10-20 18 views
8

Gulp'da otomatik olarak 'alt görevler' için çalışan bir çözüm var mı?Subtask yürütme açık tanımı olmadan yürütme

gulp.task('build:ccss', function(cb) { 
    ... 
} 

gulp.task('build:js', function(cb) { 
    ... 
} 

gulp.task('build:img', function(cb) { 
    ... 
} 

gulp.task('build:index', function(cb) { 
    ... 
} 

Sonra açıkça taban görevi tanımlayabilir ve bu alt görevleri yürütmek adres:

gulp.task('build', ['build:scss', 'build:js', 'build:img', 'build:index']); 

I Yutkunuyorum ve şu anda böyle benim yudum dosyasını yapısı yeniyim

Bu yapıyı birkaç “grup” görev için kullanın: temizlik, bina, linting.

Birisi, temel görev çalıştırıldığında, açık bir tanım oluşturmadan otomatik olarak alt görevler yürütmek için bir çözüme sahipse merak ediyorum.

cevap

2

Şunları kullanabilirsiniz async (veya başka bir kontrol akış kütüphanesi) bu şekilde:

var async = require('async'); 

gulp.task('build', function (callback) { 
    async.series([ 
    function (cb) { 

     // example usage should be your build:scss task, 
     // notice the call of `cb` on end event 

     gulp.src('package.json') 
     .pipe(gulp.dest('test/')) 
     .on('end', cb); 
    }, 
    function (cb) { 
     // same thing with the content of your build:js 
    }, 

    // all your other tasks 

    ], callback); 
});