Tôi đang chạy sau đây trên Node v0.5.9:fs.watch qua Node 0.5.9 trên Mac OSX
var fs = require("fs");
fs.watch("/Users/username/testingFsWatcher/",function(event,file) {
console.dir(arguments);
});
sau đó tôi làm:
cd /Users/username/testingFsWatcher/
>file1
- >{ '0': 'rename', '1': null }
mkdir new_folder
->{ '0': 'rename', '1': null }
>new_folder/file2
-> không có sự kiện kích hoạt/đầu ratouch file1
-> không có sự kiện kích hoạt/đầu rarm file1
->{ '0': 'rename', '1': null }
Hai điều tôi nhận thấy rằng dường như không đúng: thư mục con (new_folder
) không được xem và cập nhật/sửa đổi đối với các tệp đã xem không kích hoạt sự kiện change
. Nhìn qua các mã nút và kiểm tra nó có vẻ như thế này nên có thể.
Vì vậy, bạn có thể nhận được fs.watch
để xem thư mục và tất cả thư mục con của thư mục đó không? Có ít nhất có thể để có được một sự kiện từ một sửa đổi tập tin? Ngoài ra, từ những gì tôi có thể biết, fs.watch
được hỗ trợ bởi kqueue
được gắn với một eventid
(trong OSX), có thể nhận được rằng eventid
không?
Lưu ý: Tôi đang sử dụng cụ thể fs.watch
chứ không phải fs.watchFile
vì tôi cần xem toàn bộ thư mục (tốt nhất là tất cả thư mục con của nó :).
Cảm ơn sự giúp đỡ!
0.5.9 không ổn định. Hãy thêm một lỗi trong github với một ví dụ chi tiết hơn. Bạn có thể sử dụng "Giám sát" bởi Isaac – malletjo
Sự cố này được báo cáo tại https://github.com/joyent/node/issues/1986 và ít nhất được cố định một phần theo mức 0.6.0 ổn định. –
Cảm ơn bạn đã liên kết Trevor! Tôi sẽ cố gắng đăng kết quả của mình lên chuỗi đó khi tôi có cơ hội nâng cấp lên 0.6.0 ... :) –