Gulp Task Kompositioner

Gulp-uppgifter kan kombineras i grupper (kompositioner), där uppgifterna utförs sekventiellt eller parallellt.

Låt oss titta på hur detta görs. För exemplet tar vi följande uppgifter:

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

Sekventiell exekvering

För sekventiell exekvering av uppgifter är funktionen series avsedd. Denna funktion tar parametrar vilket som helst antal uppgifter och exekverar dem i tur och ordning i den ordning de listas.

Till att börja med måste denna funktion importeras från Gulp-biblioteket:

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

Nu kan vi använda denna funktion:

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

exports.default = taskD;

Resultatet av series kan omedelbart exporteras, utan att skapa en onödig funktion för den publika uppgiften:

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

Skapa tre uppgifter som exekveras sekventiellt ena efter den andra.

Parallell exekvering

För parallell exekvering av uppgifter är en liknande funktion parallel() avsedd. Låt oss titta på hur den fungerar.

Låt oss först ansluta den:

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

Låt oss använda vår funktion inuti den publika uppgiften:

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

exports.default = taskD;

Eller så kan vi helt enkelt exportera resultatet:

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

Skapa tre uppgifter som exekveras parallellt.

Kombinationer

Funktionerna series och parallel() kan kapslas in i varandra i valfria kombinationer, till exempel så här:

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

Skapa fem uppgifter. Kom på exempel på kombinationer med dessa uppgifter.