W pliku z haftem zdefiniowałem następujące zadanie:
gulp.task("watch:livereload", function(){
livereload.listen();
gulp.watch("app/**").on("change", livereload.changed);
});
To, co dopiero niedawno sobie uświadomiłem, jest wspaniałedla statycznych rzeczy, takich jak html. Ponieważ używam sass, a aplikacja jest przede wszystkim js. Chciałbym wywołać niektóre zadania, które wstępnie zdefiniowałem, aby przekompilować js i css po każdej zmianie w nich.
Sposób w jaki dzwonię do zadań to:
gulp.task("compile:development",
[
"bower",
"compile:scripts:development",
"compile:sass:development",
"serve",
"watch:livereload"
]
);
Ale chcę, aby zadania się zmieniały. Pomysły?
Odpowiedzi:
1 dla odpowiedzi № 1Powinieneś dalej używać livereload
tak jak Ty, w celu odświeżenia przeglądarki. Jeśli chcesz ponownie uruchomić niektóre zadania po zmianie, myślę, że gulp.watch
jest prostym i wbudowanym sposobem działania.
gulp.watch("app/**", ["compile:development"]);
Lub bardziej szczegółowe zadania:
gulp.watch("app/**", ["compile:scripts:development", "compile:sass:development"]);
Przykład: watch
zadanie, które definiuje niektóre watchers
z innym tasks
:
gulp.task("watch", function () {
gulp.watch("app/sass/*", ["compile:sass:development"]);
gulp.watch("app/js/*", ["compile:scripts:development"]);
});