2014-10-20 45 views
8

有沒有人有解決方案自動運行'子任務'中的吞嚥?沒有明確定義的子任務執行

我是新來吞掉,目前組織我一飲而盡文件是這樣的:

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

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

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

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

然後我明確地定義基本任務,並執行其中的子任務:

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

我使用這個結構來完成幾個「組」的任務:清潔,建築,短絨。

我很好奇,如果有人有一個解決方案,當基本任務運行時自動執行子任務,而不會像我那樣創建一個明確的定義。

回答

2

你可以使用async(或其他一些控制流庫)是這樣的:

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); 
});