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));
შექმენით ხუთი ამოცანა. მოიფიქრეთ კომბინაციების მაგალითები ამ ამოცანებთან.