Ich benutze diese Gulp Uhr Beispiel: https://github.com/floatdrop/gulp-watch/blob/master/docs/readme.md#starting-tasks-on-events.Gulp Watch nur einmal laufen
var gulp = require('gulp');
var watch = require('gulp-watch');
var batch = require('gulp-batch');
gulp.task('build', function() { console.log('Working!'); });
gulp.task('watch', function() {
watch('**/*.js', batch(function() {
gulp.start('build');
}));
});
Wenn ich es auf meinem Windows 8 Maschine ausführen, wird es nur das erste Mal, dass ich eine Datei zu ändern:
C:\test>gulp watch
[08:40:21] Using gulpfile C:\test\gulpfile.js
[08:40:21] Starting 'watch'...
[08:40:21] Finished 'watch' after 2.69 ms
[08:40:31] Starting 'build'...
Working!
[08:40:31] Finished 'build' after 261 µs
Das nächste Mal passiert nichts. Warum?
Haben Sie eine Datei geändert? Weil du beim Ausführen von gulp watch die Dateien anschaust. Wenn Sie dann eine Datei ändern, wird die Funktion in der Uhr ausgelöst. – blablabla
Ja, vielleicht bin ich nicht klar genug. Ich ändere Dateien, aber "Watch" wird nur ausgeführt, wenn ich zum ersten Mal eine Datei ändere. Z.B.Wenn ich 'gulp watch' starte, ändere etwas in meiner * .js Datei und speichere es, die Uhr läuft. Wenn ich dann etwas anderes in der gleichen Datei ändere und es erneut speichere, läuft die Überwachung nicht. Der Prozess "Schluckuhr" läuft noch, aber nichts passiert. – dhrm
Wenn Sie immer noch die 'gulp-batch' verwenden wollen, ist die richtige Verwendung, einen' done' Callback zu haben: 'done' - ist ein Callback für Ihr Funktionssignal an Batch, dass Sie fertig sind. Also: 'gulp.task ('watch', function() { ansehen ('**/*. Js', Batch (Funktion (Ereignisse, erledigt)) { gulp.start ('build'); \t \t getan(); });) }); ' – nemesv