Failų pakeitimų stebėjimas naudojant Gulp
Ne itin patogu kiekvieną kartą konsoleje vykdyti komandą, kai reikia atlikti kokią nors transformaciją - juk kurdami kodą tai tenka daryti labai dažnai.
Todėl Gulp yra įdiegta speciali funkcija
watch failų pakeitimų stebėjimui.
Pakeitus bet kurį iš stebimų failų, atitinkama užduotis bus paleista
automatiškai.
Pažiūrėkime į pavyzdį, kaip transformuoti LESS į CSS. Pirmiausia prijunkime viską, ko reikia:
let {src, dest, watch} = require('gulp');
let less = require('gulp-less');
Dabar sukurkime transformavimo užduotį:
function task(cb) {
return src('src/*.less')
.pipe(less())
.pipe(dest('dist'));
}
Dabar eksportuokime anoniminę funkciją, kurios viduje stebėsime pakeitimus mūsų failuose, šiuo atveju iškeldami mūsų užduotį:
exports.default = function() {
watch('src/*.less', task);
};
Paleidus komandinėje eilutėje suksis
"amžina" užduotis. Tai reiškia, kad į šį terminalą
negalėsime įvesti kitų komandų. Nutraukti
tokios užduoties vykdymą galima terminale paspaudus
derinį Ctrl + C.
Galima stebėti įvairias failų grupes, priskirdami jiems skirtingas užduotis:
exports.default = function() {
watch('src/*.less', task1);
watch('src/*.sass', task1);
};
O vienai grupei galima vykdyti užduočių seriją:
exports.default = function() {
watch('src/*.less', series(task1, task2));
};
Tarkime, kad turite JavaScript failų grupę. Padarykite taip, kad šie failai būtų sujungiami į vieną failą, o tada būtų atliekama šio failo minimizacija. Padarykite taip, kad užduotis būtų vykdoma pakeitus bet kurį iš mūsų failų.