2015-10-15 30 views
0

我是新人。如何在系列中運行gup任務

我寫了兩個需要執行的任務。當我分別運行它們時,它們工作正常。但是當我把它們合併時,「替換」不起作用。

gulp.task('bundle-source', function() { 
    return bundler.bundle(config); 
}); 

gulp.task('bundle-config', function(){ 
    return gulp.src(['config.js']) 
    .pipe(replace('src/*', 'dist/*')) 
    .pipe(gulp.dest('')); 
}); 

gulp.task('bundle', ['bundle-config', 'bundle-source']); 

我認爲問題是他們都操縱config.js。我認爲當它保存到磁盤上時,第二項任務會覆蓋第一項任務所做的更改。第二項任務是約30秒。

回答

2

Gulp任務默認並行運行。所以如果你的任務是在同一個文件上工作的話,他們確實可以踩到對方的腳趾。

您可以使用gulp的任務依賴關係來讓它們依次運行。所以,如果bundle-configbundle-source之前運行:

gulp.task('bundle-source', ['bundle-config'], function() { 
    return bundler.bundle(config); 
}); 

你也可以使用一個包狀run-sequence如果你需要他們運行一個接一個:

var seq = require('run-sequence'); 

gulp.task('bundle', function(cb) { 
    return seq('bundle-config', 'bundle-source', cb); 
}); 

最後,你可以使用一飲而盡4,它有一個內置的機制來連續運行任務。

相關問題