Kompozice úloh Gulp
Úlohy Gulp lze sdružovat do skupin (kompozice), kde se úlohy provedou sekvenčně nebo paralelně.
Podívejme se, jak se to dělá. Pro příklad vezmeme následující úlohy:
function task1(cb) {
cb();
}
function task2(cb) {
cb();
}
Sekvenční provedení
Pro sekvenční provedení úloh je určena
funkce series. Tato funkce jako parametry
přijímá libovolný počet úloh a provádí je
postupně v pořadí výčtu.
Nejprve je třeba tuto funkci importovat z knihovny Gulp:
const { series } = require('gulp');
Nyní můžeme použít tuto funkci:
function taskD(cb) {
series(task1, task2);
cb();
}
exports.default = taskD;
Výsledek práce funkce series lze také rovnou exportovat,
bez vytváření zbytečné funkce
pro veřejnou úlohu:
exports.default = series(task1, task2);
Vytvořte tři úlohy, které se provedou sekvenčně jedna za druhou.
Paralelní provedení
Pro paralelní provedení úloh je určena
analogická funkce parallel(). Podívejme
se na její fungování.
Nejprve ji připojíme:
const { parallel } = require('gulp');
Použijeme naši funkci uvnitř veřejné úlohy:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
Nebo jednoduše exportujeme výsledek práce:
exports.default = parallel(task1, task2);
Vytvořte tři úlohy, které se provedou paralelně.
Kombinace
Funkce series a parallel()
lze vnořovat do sebe v libovolných kombinacích,
například takto:
exports.default = series(task1, parallel(task2, task3));
Vytvořte pět úloh. Vymyslete příklady kombinací s těmito úlohami.