Bu Gulp Watch örnek kullanıyorum: https://github.com/floatdrop/gulp-watch/blob/master/docs/readme.md#starting-tasks-on-events.Gulp Watch Sadece bir kez çalıştır
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
dahaki sefere hiçbir şey olmaz:
benim Windows 8 makinede çalıştırmakvar 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');
}));
});
, sadece bir dosyayı değiştirmek ilk kez çalışır. Niye ya? yakından belgeleri okursanız
Herhangi bir dosyayı değiştirdiniz mi? Çünkü sen, gulp seyrettirdiğinde, dosyaları izliyorsun. Daha sonra bir dosyayı değiştirdiğinizde saatteki işlev tetiklenir. – blablabla
Evet, belki yeterince açık değilim. Dosyaları değiştiriyorum, ancak 'watch' sadece bir dosyayı değiştirdiğimde ilk kez çalıştırılıyor. Örneğin.eğer "gulp watch" ı başlatırsam, * .js dosyasında bir şey değiştir ve kaydet, izle. Daha sonra aynı dosyada başka bir şey değiştirir ve tekrar kaydedersem, o zaman seyretmez. “Yemin izle” süreci hala çalışıyor, ama hiçbir şey olmuyor. – dhrm
Eğer hala "gulp-batch" 'ı kullanmak istiyorsanız, doğru kullanım bir "bitti" geri arama yapmaktır: "done" - fonksiyon sinyalinizin toplu iş için geri çağrılmasıdır, işiniz bitti. Yani: gulp.task ('izle', işlev() { izle ('**/*. Js', toplu iş (olaylar (olaylar, bitti)) { gulp.start ('yapı'); \t \t tamamlandı(); })); – nemesv