Kompozycje zadań Gulp
Zadania Gulp można łączyć w grupy (kompozycje), zadania w których będą wykonywane sekwencyjnie lub równolegle.
Spójrzmy, jak to się robi. Dla przykładu weźmy następujące zadania:
function task1(cb) {
cb();
}
function task2(cb) {
cb();
}
Wykonywanie sekwencyjne
Do sekwencyjnego wykonywania zadań przeznaczona jest
funkcja series. Ta funkcja parametrami
przyjmuje dowolną liczbę zadań i wykonuje
je po kolei w porządku wymieniania.
Na początku tę funkcję trzeba zaimportować z biblioteki Gulp:
const { series } = require('gulp');
Teraz możemy skorzystać z tej funkcji:
function taskD(cb) {
series(task1, task2);
cb();
}
exports.default = taskD;
Można od razu wyeksportować wynik pracy
series, nie tworząc zbędnej funkcji
dla zadania publicznego:
exports.default = series(task1, task2);
Utwórz trzy zadania, wykonujące się sekwencyjnie jedno po drugim.
Wykonywanie równoległe
Do równoległego wykonywania zadań przeznaczona jest
analogiczna funkcja parallel(). Spójrzmy
na jej działanie.
Na początku podłączmy ją:
const { parallel } = require('gulp');
Skorzystajmy z naszej funkcji wewnątrz zadania publicznego:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
Albo po prostu wyeksportujmy wynik pracy:
exports.default = parallel(task1, task2);
Utwórz trzy zadania, wykonujące się równolegle.
Kombinacje
Funkcje series i parallel()
można zagnieżdżać w sobie w dowolnych kombinacjach,
na przykład, tak:
exports.default = series(task1, parallel(task2, task3));
Utwórz pięć zadań. Wymyśl przykłady kombinacji z tymi zadaniami.