Gulp uzdevumu kompozīcijas

Gulp uzdevumus var apvienot grupās (kompozīcijās), kuros uzdevumi tiks izpildīti secīgi vai paralēli.

Paskatīsimies, kā tas tiek darīts. Kā piemēru ņemsim šādus uzdevumus:

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

Secīga izpilde

Uzdevumu secīgai izpildei paredzēta funkcija series. Šī funkcija kā parametrus pieņem jebkuru uzdevumu skaitu un izpilda tos pēc kārtas uzskaitījuma secībā.

Vispirms šī funkcija jāimportē no Gulp bibliotēkas:

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

Tagad mēs varam izmantot šo funkciju:

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

exports.default = taskD;

Var uzreiz eksportēt series darbības rezultātu, neveidojot lieku funkciju publiskajam uzdevumam:

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

Izveidojiet trīs uzdevumus, kas izpildās secīgi viens pēc otra.

Paralēla izpilde

Uzdevumu paralēlai izpildei paredzēta līdzīga funkcija parallel(). Apskatīsim tās darbību.

Vispirms to pievienosim:

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

Izmantosim mūsu funkciju publiskā uzdevuma iekšienē:

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

exports.default = taskD;

Vai vienkārši eksportējam darbības rezultātu:

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

Izveidojiet trīs uzdevumus, kas izpildās paralēli.

Kombinācijas

Funkcijas series un parallel() var ievietot vienu otrā jebkādās kombinācijās, piemēram, šādi:

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

Izveidojiet piecus uzdevumus. Izdomājiet kombināciju piemērus ar šiem uzdevumiem.