Я запускаю следующее на узле 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 new_folder
-> { '0': 'rename', '1': null }
>new_folder/file2
-> событие не сработало / выход touch file1
-> нетсобытие сработало / вывод rm file1
-> { '0': 'rename', '1': null }
Две вещи, которые я заметил, кажутся неправильными: подкаталоги (new_folder
) не отслеживаются и обновления / модификациипросматриваемые файлы не вызывают событие change
.Просматривая код узла и тесты, кажется, что это возможно.
Итак, можно ли заставить fs.watch
просматривать каталог и все его подкаталоги?Возможно ли хотя бы получить событие от модификации файла?Кроме того, из того, что я могу сказать, fs.watch
поддерживается kqueue
, который связан с eventid
(в OSX), возможно ли получить это eventid
?
Примечание: I 'Я специально использую fs.watch
, а не fs.watchFile
, потому что мне нужно просмотреть весь каталог (желательно также все его подкаталоги:).
Спасибо за помощь!