Тағйироти ҳуҷаҷҳоро дар 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 доред. Бикунед, ки ин файлҳо як файлро ташкил диҳанд, ва сипас минимизатсияи ин файл иҷро шавад. Бикунед, ки вазифа дар ҳолати тағйир додани ягон аз файлҳои мо иҷро шавад.