Gulpタスクのコンポジション

Gulpタスクはグループ(コンポジション)にまとめることができ、 グループ内のタスクは順次または並列に実行されます。

どのように行うか見てみましょう。 例として次のタスクを取り上げます:

javascriptfunction task1(cb) {
  cb();
}
function task2(cb) {
  cb();
}

順次実行

タスクの順次実行には、関数 series が使用されます。 この関数は任意の数のタスクをパラメータとして受け取り、 列挙された順に一つずつ実行します。

まず、この関数をGulpライブラリからインポートする必要があります:

javascriptconst { series } = require('gulp');

これで、この関数を使用できます:

javascriptfunction taskD(cb) {
  series(task1, task2);
  cb();
}

exports.default = taskD;

公開用タスクのためだけの余分な関数を作成せずに、 series の結果を直接エクスポートすることもできます:

javascriptexports.default = series(task1, task2);
Задание 1

一つずつ順番に実行される3つのタスクを作成してください。

並列実行

タスクの並列実行には、同様の関数 parallel() が使用されます。 その動作を見てみましょう。

まず、これをインポートします:

javascriptconst { parallel } = require('gulp');

公開タスク内でこの関数を使用します:

javascriptfunction taskD(cb) {
  parallel(task1, task2);
  cb();
}

exports.default = taskD;

または、単に結果をエクスポートします:

javascriptexports.default = parallel(task1, task2);
Задание 2

並列に実行される3つのタスクを作成してください。

組み合わせ

関数 series と parallel() は、 任意の組み合わせで入れ子にすることができます。 例えば、次のように:

javascriptexports.default = series(task1, parallel(task2, task3));
Задание 3

5つのタスクを作成してください。 これらのタスクを使った組み合わせの例を考えてみてください。