Композиции на задачи в 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);
Създайте три задачи, които се изпълняват последователно една след друга.
Паралелно изпълнение
За паралелно изпълнение на задачи е предназначена
аналогичната функция 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));
Създайте пет задачи. Измислете примери за комбинации с тези задачи.