Dokumentu izmaiņu novērošana Gulp
Nav īpaši ērti katru reizi konsolej izsaukt komandu, kad nepieciešams veikt kādu transformāciju - galu galā, rakstot kodu, tas jādara ļoti bieži.
Tāpēc Gulp ir iebūvēta īpaša funkcija
watch, lai novērotu failu izmaiņas.
Kad jebkš no izsekotajiem failiem tiek mainīts,
attiecīgais uzdevums tiks palaists automātiski.
Apskatīsim piemērā ar LESS pārveidošanu par CSS. Sākumā pievienosim visu nepieciešamo:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
Tagad izveidosim uzdevumu pārveidošanai:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
Tagad veiksim anonīmas funkcijas eksportēšanu, kuras iekšā sekosim līdzi mūsu failu izmaiņām, izsaucot šajā gadījumā mūsu uzdevumu:
exports.default = function() {
watch('src/*.less', task);
};
Pēc palaišanas komandrindā griezīsies
"mūžīgais" uzdevums. Tas nozīmē, ka šajā terminālī
nevarēs ievadīt citas komandas. Šāda uzdevuma izpildi
var pārtraukt, terminālī nospiežot kombināciju
Ctrl + C.
Var izsekot dažādās failu grupas, piesaistot tām dažādus uzdevumus:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
Vai arī vienai grupai var izpildīt uzdevumu sēriju:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
Pieņemsim, ka jums ir JavaScript failu grupa. Izdariet tā, lai šie faili tiktu apvienoti vienā failā, un pēc tam tiktu veikta šī faila minificēšana. Izdariet tā, lai uzdevums tiktu izpildīts, kad tiek mainīts jebkurš no mūsu failiem.