我在阅读有希望的评论后,正在评估Chokidar(1.4.3)。 如果我理解正确,它应该使用本机代码来检测文件更改。
我正在运行的测试是在Windows 8.1 x64系统上运行的。
当我对包含大量文件和子文件夹的文件夹进行简单测试时,似乎每个文件和文件夹在初始化期间都会被扫描,占用大约40%的CPU并消耗大量内存。这似乎更像是默认节点fs.watch行为,而不是"本机操作系统"方式。
var chokidar = require('chokidar');
var dataWatcher = chokidar.watch('c:/data/tryout', {
persistent: true,
ignoreInitial: true,
usePolling: false
});
dataWatcher.on('all', function(event, path){
console.log(event, path);
});
有关如何获取本机(Windows)操作系统行为的任何想法,就像在C#中使用SystemFileWatcher一样吗?
C:\data\tryout\chokidar>npm list chokidar
tryout@0.0.0 C:\data\tryout
└── chokidar@1.4.3