Gulp-də sənədlərin dəyişməsinin müşahidəsi
Hər dəfə konsolda hansısa transformasiyanı yerinə yetirmək lazım olduqda komandanı çağırmaq çox rahat deyil - axı kod yazarkən bunu etmək çox tez-tez lazım olur.
Ona görə də Gulp-da faylların dəyişməsinin izlənməsi üçün
xüsusi watch funksiyası var. İzlənən fayllardan hər hansı biri
dəyişdikdə, uyğun tapşırıq avtomatik olaraq işə salınacaq.
Gəlin LESS-in CSS-ə çevrilməsi nümunəsində baxaq. Əvvəlcə bütün lazımlıları əlaqələndirək:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
İndi transformasiya üçün bir tapşırıq edək:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
İndi anonim funksiyanı eksport edək, onun daxilində fayllarımızdakı dəyişiklikləri izləyəcəyik, bu halda bizim tapşırığımızı çağıraraq:
exports.default = function() {
watch('src/*.less', task);
};
Komand sətrində işə salındıqdan sonra
"əbədi" tapşırıq fırlanacaq. Bu o deməkdir ki, bu terminala
başqa əmrlər daxil etmək olmaz. Belə bir tapşırığın icrasını
terminalda Ctrl + C kombinasiyasını basaraq dayandıra bilərsiniz.
Müxtəlif fayl qruplarını izləyərək, onlara müxtəlif tapşırıqlar əlaqələndirmək olar:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
Və ya bir qrup üçün bir sıra tapşırıqları yerinə yetirmək olar:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
Tutaq ki, sizin JavaScript faylları qrupunuz var. Elə edin ki, bu fayllar birləşdirilsin bir faylda, sonra isə həmin faylın minimallaşdırılması yerinə yetirilsin. Elə edin ki, tapşırıq fayllarımızdan hər hansı biri dəyişdikdə yerinə yetirilsin.