Kompozycje zadań Gulp

Zadania Gulp można łączyć w grupy (kompozycje), zadania w których będą wykonywane sekwencyjnie lub równolegle.

Spójrzmy, jak to się robi. Dla przykładu weźmy następujące zadania:

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

Wykonywanie sekwencyjne

Do sekwencyjnego wykonywania zadań przeznaczona jest funkcja series. Ta funkcja parametrami przyjmuje dowolną liczbę zadań i wykonuje je po kolei w porządku wymieniania.

Na początku tę funkcję trzeba zaimportować z biblioteki Gulp:

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

Teraz możemy skorzystać z tej funkcji:

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

exports.default = taskD;

Można od razu wyeksportować wynik pracy series, nie tworząc zbędnej funkcji dla zadania publicznego:

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

Utwórz trzy zadania, wykonujące się sekwencyjnie jedno po drugim.

Wykonywanie równoległe

Do równoległego wykonywania zadań przeznaczona jest analogiczna funkcja parallel(). Spójrzmy na jej działanie.

Na początku podłączmy ją:

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

Skorzystajmy z naszej funkcji wewnątrz zadania publicznego:

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

exports.default = taskD;

Albo po prostu wyeksportujmy wynik pracy:

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

Utwórz trzy zadania, wykonujące się równolegle.

Kombinacje

Funkcje series i parallel() można zagnieżdżać w sobie w dowolnych kombinacjach, na przykład, tak:

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

Utwórz pięć zadań. Wymyśl przykłady kombinacji z tymi zadaniami.