node.js 监听文件变化并打印
1 Use node.js library "chokidar"
2 Detail code:
var watcher = chokidar.watch("/home/camille/Downloads", { ignored: /[\/\]./, persistent: true }); var log = console.log.bind(console); watcher .on('add', function(path) { log('File', path, 'has been added'); }) .on('addDir', function(path) { log('Directory', path, 'has been added'); }) .on('change', function(path) { log('File', path, 'has been changed'); }) .on('unlink', function(path) { log('File', path, 'has been removed'); }) .on('unlinkDir', function(path) { log('Directory', path, 'has been removed'); }) .on('error', function(error) { log('Error happened', error); }) .on('ready', function() { log('Initial scan complete. Ready for changes.'); }) .on('raw', function(event, path, details) { log('Raw event info:', event, path, details); })
3 Log:
File /home/camille/Downloads/dd has been added
File /home/camille/Downloads/Untitled Document has been removed
Raw event info: rename dd { watchedPath: '/home/camille/Downloads' }
Raw event info: rename dddd { watchedPath: '/home/camille/Downloads' }
Raw event info: rename dd { watchedPath: '/home/camille/Downloads/dd' }
File /home/camille/Downloads/dddd has been added
File /home/camille/Downloads/dd has been removed