我在看gulp的官方网站上的API时,关于gulp.task提到如果为了gulp.task顺序执行,则需要给个提示给gulp让其知道这个任务是依赖另一任务的。关于这段的理解:
gulp.task('one', ['two', 'three', 'four'], function(){
})
1.上面提到的这个顺序执行是指one与后面的Array,还是指Array中的任务列表?
2.如何理解gulp的任务的顺序执行?
我在看gulp的官方网站上的API时,关于gulp.task提到如果为了gulp.task顺序执行,则需要给个提示给gulp让其知道这个任务是依赖另一任务的。关于这段的理解:
gulp.task('one', ['two', 'three', 'four'], function(){
})
1.上面提到的这个顺序执行是指one与后面的Array,还是指Array中的任务列表?
2.如何理解gulp的任务的顺序执行?
官方文档解释的比较清楚。 An array of tasks to be executed and completed before your task will run.
需要注意的是 你的 two , three 必须按照文档。 Accept a callback 或者 Return a stream 或者 Return a promise。
但是 你依赖的几个任务是没有先后顺序的。就是说 two, three 这些谁先完成看工作量。
gulp.task(name[, deps], fn)
deps
中的任务会在name
之前执行,而deps
里面的所有任务默认是最大限度的并行执行。让任务按特定顺序执行,需要做两件事:
这里的提示又有3种
promise
对象,然后由gulp等待promise
被处理(resolve).stream
),等待数据流(stream)结束。任务依赖与另一个任务
像这样,就说明任务
two
依赖与任务one
。最后,在
default
任务里就会先执行one
接着是two
然后是default
。至于怎么设置回调、返回
promise
对象和返回一个数据流(stream
),请看文档,这里不重复。http://www.gulpjs.com.cn/docs/api/#gulp.task