Задачи 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);
Создайте три задачи, выполняющиеся последовательно одна за другой.
Параллельное выполнение
Для параллельного выполнения задач предназначена
аналогичная функция parallel()
. Давайте
посмотрим на ее работу.
Для начала подключим ее:
const { parallel } = require('gulp');
Воспользуемся нашей функцией внутри публичной задачи:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
Либо просто экпортируем результат работы:
exports.default = parallel(task1, task2);
Создайте три задачи, выполняющиеся параллельно.
Комбинации
Функции series
и parallel()
можно вкладывать в друг друга в любых комбинациях,
например, вот так:
exports.default = series(task1, parallel(task2, task3));
Создайте пять задач. Придумайте примеры комбинаций с этими задачами.