Gulp-ში დოკუმენტების ცვლილებების დაკვირვება
არ არის ძალიან მოსახერხებელი ყოველ ჯერზე კონსოლში ბრძანების გამოძახება როდესაც საჭიროა რაიმე ტრანსფორმაციის შესრულება - ბოლოს და ბოლოს, კოდის წერისას ამის გაკეთება ძალიან ხშირად გვიწევს.
ამიტომ Gulp-ში ჩაშენებულია სპეციალური ფუნქცია
watch ფაილების ცვლილებების დასაკვირვებლად.
როდესაც რომელიმე დაკვირვებული ფაილი შეიცვლება, შესაბამისი ამოცანა ავტომატურად გაეშვება.
მოდით შევხედოთ LESS-ის CSS-ად გარდაქმნის მაგალითს. დასაწყისისთვის, მოდით დავაკავშიროთ ყველა საჭირო რამ:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
ახლა შევქმნათ ამოცანა გარდაქმნისთვის:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
ახლა შევასრულოთ ანონიმური ფუნქციის ექსპორტი, რომლის შიგნითაც დავაკვირდებით ჩვენი ფაილების ცვლილებებს, ამ შემთხვევაში ჩვენი ამოცანის გამოძახებით:
exports.default = function() {
watch('src/*.less', task);
};
კომანდურ ხაზში გაშვების შემდეგ "მარადიული" ამოცანა დაიწყებს მუშაობას.
ეს ნიშნავს, რომ ამ ტერმინალში სხვა ბრძანებების შეყვანა ვერ მოხერხდება.
ასეთი ამოცანის შესაჩერებლად შეგიძლიათ დააჭიროთ ტერმინალში კომბინაციას
Ctrl + C.
შესაძლებელია სხვადასხვა ჯგუფის ფაილების დაკვირვება, მათთან სხვადასხვა ამოცანების მიბმით:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
ან შესაძლებელია ერთი ჯგუფისთვის შესრულდეს ამოცანების სერია:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
დავუშვათ, თქვენ გაქვთ JavaScript ფაილების ჯგუფი. გახადეთ ისე, რომ ეს ფაილები გაერთიანდეს ერთ ფაილში, შემდეგ კი შესრულდეს ამ ფაილის მინიმიზაცია. გახადეთ ისე, რომ ამოცანა შესრულდეს ჩვენი ნებისმიერი ფაილის ცვლილების შემთხვევაში.