克服 Gulp 中的順序執行挑戰
在 Gulp 中,任務經常並發執行,阻礙順序執行。當任務依賴前面任務的完成時,這可能會帶來挑戰。
例如,考慮以下任務配置:
gulp.task "coffee", -> gulp.src("src/server/**/*.coffee") .pipe(coffee {bare: true}).on("error",gutil.log) .pipe(gulp.dest "bin") gulp.task "clean",-> gulp.src("bin", {read:false}) .pipe clean force:true gulp.task 'develop',['clean','coffee'], -> console.log "run something else"
在這種情況下,您希望develop首先執行clean,其次是咖啡,然後執行其他操作。然而,Gulp 的預設行為會導致 clean 和 Coffee 同時啟動。
解決方案:利用 run-sequence 的力量
要實現順序執行,請利用 run-sequence外掛程式。安裝後,修改程式碼如下:
var runSequence = require('run-sequence'); gulp.task('develop', function(done) { runSequence('clean', 'coffee', function() { console.log('Run something else'); done(); }); });
說明
run-sequence 讓您明確指定任務的執行順序。這裡,develop 被定義為一個接受完成回呼的函數。在此函數中,將使用您希望順序運行的任務數組來呼叫 runSequence。一旦所有指定任務完成,就會觸發done回調,執行後續操作。
以上是如何保證Gulp中任務的順序執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!