Kompozície úloh Gulp
Úlohy Gulp je možné zoskupiť do kompozícií, v ktorých sa úlohy vykonajú postupne alebo paralelne.
Pozrime sa, ako sa to robí. Ako príklad vezmime nasledujúce úlohy:
function task1(cb) {
cb();
}
function task2(cb) {
cb();
}
Sekvenčné vykonávanie
Pre sekvenčné vykonávanie úloh je určená
funkcia series. Táto funkcia ako parametre
prijíma ľubovoľný počet úloh a vykonáva
ich jednu po druhej v poradí, v akom sú uvedené.
Najprv je potrebné importovať túto funkciu z knižnice Gulp:
const { series } = require('gulp');
Teraz môžeme použiť túto funkciu:
function taskD(cb) {
series(task1, task2);
cb();
}
exports.default = taskD;
Výsledok práce funkcie series je možné
okamžite exportovať, bez vytvárania nadbytočnej funkcie
pre verejnú úlohu:
exports.default = series(task1, task2);
Vytvorte tri úlohy, ktoré sa vykonajú postupne jedna za druhou.
Paralelné vykonávanie
Pre paralelné vykonávanie úloh je určená
analogická funkcia parallel(). Pozrime sa
na jej fungovanie.
Najprv ju importujeme:
const { parallel } = require('gulp');
Použijeme našu funkciu vo verejnej úlohe:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
Alebo jednoducho exportujeme výsledok práce:
exports.default = parallel(task1, task2);
Vytvorte tri úlohy, ktoré sa vykonajú paralelne.
Kombinácie
Funkcie series a parallel()
je možné vkladať do seba v ľubovoľných kombináciách,
napríklad takto:
exports.default = series(task1, parallel(task2, task3));
Vytvorte päť úloh. Vymyslite príklady kombinácií s týmito úlohami.