我有一個吞嚥任務需要連續執行其他兩個任務並按順序執行。Gulp中的任務依賴
所以,當我運行build
,build
運行第一task-a
,當task-a
完成 task-b
執行。
目前我正在使用這個腳本,我想確認是否正確。
gulp.task('build', [
'task-a',
'task-b'
]);
我有一個吞嚥任務需要連續執行其他兩個任務並按順序執行。Gulp中的任務依賴
所以,當我運行build
,build
運行第一task-a
,當task-a
完成 task-b
執行。
目前我正在使用這個腳本,我想確認是否正確。
gulp.task('build', [
'task-a',
'task-b'
]);
截至官方文檔與格式規定的任務will run in parallel (all at once), so don't assume that the tasks will start/finish in order.
你必須明確地界定任務如下使咕嘟咕嘟鍛鍊的正確順序的順序:
gulp.task('task-a', function(){ ... });
gulp.task('task-b', ['task-a'], function(){ ... });
gulp.task('build', ['task-a', 'task-b'], function(){ ... });
此時當您將嘗試運行build
Gulp將構建執行前完成task-b
依賴於task-a
的任務和鍛鍊的依賴關係樹。
一個更完整的例子可以在這裏找到:https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md
感謝您的解釋和例子,它解決了我的問題 – GibboK
你有瞬間的電流一飲而盡任務能否正確運行,它會運行task-a
然後運行task-b
。無論出於何種原因,它不會讓你回到你想要的東西。還有一個叫做run-sequence
(https://www.npmjs.com/package/run-sequence)的npm包可以使用。
你一飲而盡的任務看起來是這樣的:
gulp.task('runTasks', function() {
runSequence('task-a', 'task-b', 'task-c');
});
這會傳遞給它的順序中執行任務。
'你目前的一口氣任務將正確運行,它將運行任務 - 然後運行任務b.'請更正此問題。 – MarcoL
是啊,它會運行'任務了'那麼一旦這項步驟完成後,它會運行'任務B' – PourMeSomeCode
沒有,它將會運行'任務 - a'和'task-b'並行 - 除非'task-b'在內部將'task-a'定義爲dep。 – MarcoL