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