功能描述
gulp默认使用最大并发数执行任务,也就是说所有的任务几乎都是同时执行,而不会等待其它任务。但很多时候,任务是需要有先后次序的,比如要先清理目标目录,然后再执行打包。
run-sequence 的作用就是控制多个任务进行顺序执行或者并行执行
gulp-run-sequence 也是实现相同功能,但已经被标记为deprecated
插件安装
$ cnpm install run-sequence --save-dev
使用方法
执行前端代码自动构建,一般会分为以下几个步骤
清理目标目录(任务:clean)
代码压缩打包,这其中包括对JS,CSS,HTML以及图片的处理(任务:minify:js,minify:css,minify:html,minify:image)
监控(任务:watch)
首先执行第一步操作,清理目标目录,清理完成后方可执行打包动作。
然后执行第二步操作,这个步骤里又可以细分为几个任务,但是几个任务相互之间并没有依赖关系,因此可以并行。
最后执行第三步操作,监控代码变改,必须在第二步所有任务全部执行完成后方可执行
最终代码
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
);
});