Node监控文件夹中的文件改变事件

来源:互联网 发布:编程初学 编辑:程序博客网 时间:2024/05/18 02:54
// 需要忽略的文件夹var ignores = '.git,doc,tool,coffee'.split(',')// 有时候修改文件后会连续回调两次,用这个时间过滤掉第二次重复的回调var lastUpdateTime = 0;function watch(dir) {  fs.watch(dir, (event, filename)=> {    if (ignores.includes(filename)) return    var diff = Date.now() - lastUpdateTime    lastUpdateTime = Date.now()    if (diff < 100) return    console.log('event is: ' + event + 'filename:' + filename + ' now:' + Date.now());    // TODO: do anything ...  })  // 原生监控不能监控到子文件夹中的文件改变事件,遍历之  var files = fs.readdirSync(dir);  for (var i = 0; i < files.length; i++) {    if (ignores.includes(files[i])) continue    var file = dir + '/' + files[i]    var stat = fs.statSync(file)    if (stat.isDirectory() == true) {      watch(file);    }  }}// 开始监控当前目录watch('.')console.log('start watch...');
原创粉丝点击