gulp默認使用最大併發數執行任務,也就是說全部的任務幾乎都是同時執行,而不會等待其它任務。但不少時候,任務是須要有前後次序的,好比要先清理目標目錄,而後再執行打包。
run-sequence 的做用就是控制多個任務進行順序執行或者並行執行
gulp-run-sequence 也是實現相同功能,但已經被標記爲deprecatedjavascript
$ cnpm install run-sequence --save-dev
執行前端代碼自動構建,通常會分爲如下幾個步驟
1. 清理目標目錄(任務:clean)
2. 代碼壓縮打包,這其中包括對JS,CSS,HTML以及圖片的處理(任務:minify:js,minify:css,minify:html,minify:image)
3. 監控(任務:watch)css
首先執行第一步操做,清理目標目錄,清理完成後方可執行打包動做。
而後執行第二步操做,這個步驟裏又能夠細分爲幾個任務,可是幾個任務相互之間並無依賴關係,所以能夠並行。
最後執行第三步操做,監控代碼變改,必須在第二步全部任務所有執行完成後方可執行html
最終代碼前端
var gulp = require('gulp'), runSequence = require('run-sequence'), pump = require('pump'); gulp.task('default', function(cb) { runSequence( 'clean', // 第一步:清理目標目錄 ['minify:js', 'minify:css', 'minify:html', 'minify:image'], // 第二步:打包 'watch', // 第三步:監控 cb ); });