Node.js 通过Mac OSX上的节点0.5.9观看fs.watch
我正在节点v0.5.9上运行以下操作:Node.js 通过Mac OSX上的节点0.5.9观看fs.watch,node.js,kqueue,Node.js,Kqueue,我正在节点v0.5.9上运行以下操作: var fs = require("fs"); fs.watch("/Users/username/testingFsWatcher/",function(event,file) { console.dir(arguments); }); 然后我会: cd/Users/username/testingFsWatcher/ >file1-->{'0':'rename','1':null} mkdir新文件夹-->{'0':'rename','1':n
var fs = require("fs");
fs.watch("/Users/username/testingFsWatcher/",function(event,file) {
console.dir(arguments);
});
然后我会:
cd/Users/username/testingFsWatcher/
-->>file1
{'0':'rename','1':null}
-->mkdir新文件夹
{'0':'rename','1':null}
-->无事件触发/输出>新建文件夹/文件2
-->无事件触发/输出触摸文件1
-->rm文件1
{'0':'rename','1':null}
new_folder
)未被监视,对监视文件的更新/修改不会触发更改
事件。查看节点代码和测试,似乎这些都是可能的
那么,可以让fs.watch查看目录及其所有子目录吗?是否至少可以从文件修改中获取事件?另外,据我所知,fs.watch
由kqueue
支持,它绑定到一个eventid
(在OSX中),是否可以获得该eventid
注意:我特别使用的是fs.watch
而不是fs.watchFile
,因为我需要监视整个目录(最好也是它的所有子目录:)
谢谢你的帮助 此问题不再出现在最新的节点版本中。但是,
fs.watch
中还有其他几个bug,因此您可能希望在解决这些bug之前暂缓使用它:0.5.9不稳定。可以在github中添加一个bug,并提供一个更详细的示例。您可以使用Isaact的“Supervisor”此问题报告在,并且至少在稳定的0.6.0下部分修复。感谢链接Trevor!一旦有机会升级到0.6.0,我将尝试将结果发布到该线程…:)改用这个: