Gulpタスクのコンポジション
Gulpタスクはグループ(コンポジション)にまとめることができ、 グループ内のタスクは順次または並列に実行されます。
どのように行うか見てみましょう。 例として次のタスクを取り上げます:
function task1(cb) {
cb();
}
function task2(cb) {
cb();
}
順次実行
タスクの順次実行には、関数 series が使用されます。
この関数は任意の数のタスクをパラメータとして受け取り、
列挙された順に一つずつ実行します。
まず、この関数をGulpライブラリからインポートする必要があります:
const { series } = require('gulp');
これで、この関数を使用できます:
function taskD(cb) {
series(task1, task2);
cb();
}
exports.default = taskD;
公開用タスクのためだけの余分な関数を作成せずに、
series の結果を直接エクスポートすることもできます:
exports.default = series(task1, task2);
一つずつ順番に実行される3つのタスクを作成してください。
並列実行
タスクの並列実行には、同様の関数 parallel() が使用されます。
その動作を見てみましょう。
まず、これをインポートします:
const { parallel } = require('gulp');
公開タスク内でこの関数を使用します:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
または、単に結果をエクスポートします:
exports.default = parallel(task1, task2);
並列に実行される3つのタスクを作成してください。
組み合わせ
関数 series と parallel() は、
任意の組み合わせで入れ子にすることができます。
例えば、次のように:
exports.default = series(task1, parallel(task2, task3));
5つのタスクを作成してください。 これらのタスクを使った組み合わせの例を考えてみてください。