gulp task を並列に動かしたり直列に実行します。
Gulp 始めてみましたのメモ – 1 – 導入からCompass
Gulp 始めてみましたのメモ – 2 – CSSをminify
Gulp 始めてみましたのメモ – 3 – JavaScriptをconcat, minify, source mapとYUIDoc
の続き。
task 実行 – 並列
並列に実行は基本機能なのでなにも考えずに実現可能です。
"use strict"; var gulp = require( 'gulp' ); gulp.task( 'task-a', function () { // なんか } ); gulp.task( 'task-b', function () { // なんか } ); gulp.task( 'task-c', function () { // なんか } ); gulp.task( 'task-d', function () { // なんか } ); gulp.task( 'task-e', function () { // なんか } ); |
task を登録し実行します。
gulp.task( 'task-all', [ 'task-a', 'task-b', 'task-c', 'task-d', 'task-e' ] ); |
terminal
gulp task-all |
task-a, task-b, task-c, task-d, task-e が走り出します。
task 実行 – 直列
task-a が終了したら task-b を走らせる。
promise / deferred みたいなことをどうするかです。
ガリゴリ書くことも可能ですが便利なプラグインがありました。
run-sequence
Run a series of dependent gulp tasks in order
var runSequence = require('run-sequence'); gulp.task( 'pc-init', function ( callback ) { runSequence( [ 'task-a', 'task-b' ], 'task-c' [ 'task-d', 'task-e' ], callback ); } ); |
task-a, task-b は並列に実行されます。
どちらも終了すると task-c が実行され終了すると task-d, task-e が実行されます。
promise / deferred なことを run-sequence が受け持ってくれます。
便利ー