# 如何监控文件的变动

更多描述

当一个文件或者一个目录下的文件有所变动时能够监控到。

如一些前端和后端项目在开发环境下会根据项目目录变动而重启或者重新编译

Issue

欢迎在 Issue 中交流与讨论: Issue 124 (opens new window)

  1. 在 node 中调用 API fs.watch
  2. 在 linux 中原理是 inotify,macos 中原理是 FSEvents,windows 中原理是 ReadDirectoryChangesW
  3. 由于内核对文件监控更加细粒度,更加敏感,当每次修改文件时可能触发内核多次调用,需要防抖
  4. 注意软链接,读写权限等文件系统属性

可参考文章 How to Watch for Files Changes in Node.js (opens new window)精读《如何利用 Nodejs 监听文件夹》 (opens new window)

Last Updated: 1/17/2021, 2:02:56 PM