चलाता है मैं इस गुलप वॉच नमूना का उपयोग कर रहा हूं: https://github.com/floatdrop/gulp-watch/blob/master/docs/readme.md#starting-tasks-on-events।गुलप वॉच केवल एक बार
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
अगली बार कुछ नहीं होता:
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');
}));
});
जब मैं अपने विंडोज 8 मशीन पर इसे चलाने, यह केवल पहली बार मैं एक फ़ाइल को बदलने चलाता है। क्यूं कर?
क्या आपने कोई फ़ाइल बदल दी? क्योंकि जब आप गल्प घड़ी निष्पादित करते हैं, तो यह फाइलें देख रहा है। जब आप एक फ़ाइल बदलते हैं, तो घड़ी में फ़ंक्शन निकाल दिया जाता है। – blablabla
हाँ, शायद मैं पर्याप्त स्पष्ट नहीं हूँ। मैं फ़ाइलों को बदल रहा हूं, लेकिन 'घड़ी' केवल पहली बार निष्पादित की जाती है जब मैं एक फ़ाइल बदलता हूं। जैसेअगर मैं 'गल्प घड़ी' शुरू करता हूं, तो मेरी * .js फ़ाइल में कुछ बदलें और इसे सहेजें, देखें चल रहा है। अगर मैं एक ही फाइल में कुछ और बदलता हूं और इसे फिर से सहेजता हूं, तो घड़ी चल रही नहीं है। 'गल्प घड़ी' प्रक्रिया अभी भी चल रही है, लेकिन कुछ भी नहीं होता है। – dhrm
यदि आप अभी भी 'गल्प-बैच' का उपयोग करना चाहते हैं, तो सही उपयोग करना 'किया गया' कॉलबैक होना है: 'done' - बैच के लिए आपके फ़ंक्शन सिग्नल के लिए कॉलबैक है, जो आप कर चुके हैं। तो: 'gulp.task (' watch ', function() { घड़ी (' **/*। जेएस ', बैच (फ़ंक्शन (ईवेंट, किया गया) { gulp.start (' build '); \t किया गया(); })); }); ' – nemesv