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));
Панҷ вазифа созед. Барои ин вазифаҳо намунаҳои комбинатсияҳо пешниҳод кунед.