Gulp вазифаҳои композитсия

Вазифаҳои Gulp-ро метавон ба гурӯҳҳо (композитсияҳо) муттаҳид кард, ки дар онҳо вазифаҳо пайдарпай ё параллелӣ иҷро мешаванд.

Биёед бубинем, ки ин чӣ гуна анҷом дода мешавад. Барои мисол чунин вазифаҳоро мегирем:

javascriptfunction task1(cb) {
  cb();
}
function task2(cb) {
  cb();
}

Иҷрои пайдарпай

Барои иҷрои пайдарпаии вазифаҳо функсияи series пешбинӣ шудааст. Ин функсия ба ҳамчун параметрҳо ҳароҷуми вазифаҳоро қабул мекунад ва онҳоро ба тартиби додашуда пай дар пай иҷро мекунад.

Аввалан бояд ин функсияро аз китобхонаи Gulp ворид кард:

javascriptconst { series } = require('gulp');

Ҳоло мо метавонем аз ин функсия истифода барем:

javascriptfunction taskD(cb) {
  series(task1, task2);
  cb();
}

exports.default = taskD;

Метавон натиҷаи кори series-ро фавран содир кард, бидуни сохтани функсияи иловагӣ барои вазифаи умумӣ:

javascriptexports.default = series(task1, task2);
Задание 1

Се вазифае созед, ки пай дар пай як паси дигар иҷро шаванд.

Иҷрои параллелӣ

Барои иҷрои параллелии вазифаҳо функсияи монандӣ parallel() пешбинӣ шудааст. Биёед ба кори он назар андозем.

Аввалан онро пайваст мекунем:

javascriptconst { parallel } = require('gulp');

Аз функсияи худ дар дохили вазифаи умумӣ истифода мебарем:

javascriptfunction taskD(cb) {
  parallel(task1, task2);
  cb();
}

exports.default = taskD;

Ё танҳо натиҷаи кори онро содир мекунем:

javascriptexports.default = parallel(task1, task2);
Задание 2

Се вазифае созед, ки параллелӣ иҷро шаванд.

Комбинатсияҳо

Функсияҳои series ва parallel() метавон ба якдигар дар ҳар гуна комбинатсияҳо гузошта шаванд, барои намуна, ин тавр:

javascriptexports.default = series(task1, parallel(task2, task3));
Задание 3

Панҷ вазифа созед. Барои ин вазифаҳо намунаҳои комбинатсияҳо пешниҳод кунед.