जब कोड के नीचे भाग गया है, घड़ी केवल अगर मैं संपादित करें और मैन्युअल रूप से tmp.txt बचाने के लिए, या तो मेरी आईडीई, TextEditor का उपयोग कर शुरू हो रहा है .app, या vim।NodeJS निर्देशिका केवल आग पर fs.watch जब संपादक द्वारा बदल गया है, लेकिन खोल नहीं या FS मॉड्यूल
यह न लिखने धारा या मैनुअल खोल उत्पादन पुनर्निर्देशन की विधि द्वारा।
हालांकि अगर मैं फ़ाइल स्वयं देख सकते हैं, ("परीक्षण"> /path/to/tmp.txt "गूंज टाइपिंग) करता है और । नहीं अपने dirname, तो यह काम करता है
var fs, Path, file, watchPath, w;
fs = require('fs');
Path = require('path');
file = __dirname + '/tmp.txt';
watchPath = Path.dirname(file); // changing this to just file makes it trigger
w = fs.watch (watchPath, function (e,f) {
console.log("will not get here by itself");
w.close();
});
fs.writeFileSync(file,"test","utf-8");
fs.createWriteStream(file, {
flags:'w',
mode: 0777
})
.end('the_date="'+new Date+'";'); // another method fails as well
setTimeout (function() {
fs.writeFileSync(file,"test","utf-8");
},500); // as does this one
// child_process exec and spawn fail the same way with or without timeout
तो प्रश्न हैं: क्यों और कैसे एक नोड स्क्रिप्ट से प्रोग्राम के रूप में इस घटना को गति प्रदान करने
धन्यवाद
सिर्फ fs.watch बदल -> fs.watchFile और इसके पूर्ण हो जाने। रेफरी: [गिट-लिंक] (https://github.com/joyent/node/issues/3640) – mayankcpdixit