Dokumentide muutuste jälgimine Gulpis
Pole eriti mugav kutsuda iga kord käsurealt käsku kui on vaja teha mõnd teisendust - sest koodi kirjutades tuleb seda teha väga sageli.
Seetõttu on Gulpisse sisse ehitatud spetsiaalne funktsioon
watch failide muutuste jälgimiseks.
Kui ükski jälgitav fail muutub, käivitatakse
vastav ülesanne automaatselt.
Vaatame näidet LESS-i teisendamisest CSS-iks. Alustuseks võtame kõik vajalikud moodulid kasutusele:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
Nüüd loome teisendusülesande:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
Nüüd ekspordime anonüümse funktsiooni, mille sees jälgime meie failide muutusi, kutsudes sel juhul välja meie ülesande:
exports.default = function() {
watch('src/*.less', task);
};
Pärast käivitamist käsureal hakkab pöörlema
"igavene" ülesanne. See tähendab, et sellesse terminali
ei saa enam teisi käske sisestada.
Sellise ülesande täitmist saab katkestada terminalis
vajutades klahvikombinatsiooni Ctrl + C.
Võimalik on jälgida erinevaid failigruppe, seostades neile erinevad ülesanded:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
Või saab ühe grupi jaoks käivitada ülesannete seeria:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
Oletame, et teil on JavaScript-failide grupp. Seadke see nii, et need failid liidetakse üheks failiks ja seejärel teostatakse selle faili minifitseerimine. Seadke see nii, et ülesanne täidetakse ükskõik millise meie faili muutumisel.