Sledovanie zmien dokumentov v Gulp
Nie je veľmi pohodlné zakaždým volať príkaz v konzole pri potrebe vykonať nejakú transformáciu - veď pri písaní kódu to musíme robiť veľmi často.
Preto má Gulp vstavanú špeciálnu funkciu
watch na sledovanie zmien
súborov. Pri zmene ktoréhokoľvek zo sledovaných
súborov sa príslušná úloha spustí
automaticky.
Pozrime sa na príklad transformácie LESS na CSS. Na začiatok pripojme všetko potrebné:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
Teraz vytvorme úlohu na transformáciu:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
Teraz vykonajme export anonymnej funkcie, vnútri ktorej budeme sledovať zmeny našich súborov, volajúc v tomto prípade našu úlohu:
exports.default = function() {
watch('src/*.less', task);
};
Po spustení sa v príkazovom riadku bude točiť
"večná" úloha. To znamená, že do tohto terminálu
nebude možné zadávať ďalšie príkazy. Prerušiť
vykonávanie takejto úlohy je možné stlačením v termináli
kombinácie Ctrl + C.
Je možné sledovať rôzne skupiny súborov, priraďovať k nim rôzne úlohy:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
Abo pre jednu skupinu vykonať sériu úloh:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
Nech máte skupinu JavaScript súborov. Zaistite, aby sa tieto súbory zlúčili do jedného súboru, a potom sa vykonala minimalizácia tohto súboru. Zaistite, aby sa úloha vykonala pri zmene ktoréhokoľvek z našich súborov.