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é:

javascriptlet {src, dest, watch} = require('gulp');
let less = require('gulp-less');

Teraz vytvorme úlohu na transformáciu:

javascriptfunction 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:

javascriptexports.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:

javascriptexports.default = function() {
  watch('src/*.less', task1);
  watch('src/*.sass', task1);
};

Abo pre jednu skupinu vykonať sériu úloh:

javascriptexports.default = function() {
  watch('src/*.less', series(task1, task2));
};
Задание 1

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.