
Watchman
一个文件监控服务
监视文件并在文件更改时记录或触发操作。
Watchman 的作用是监视文件并记录它们的更改时间。它也可以在匹配的文件更改时触发操作(例如,重新构建资源)。
概念
- Watchman 可以递归地监视一个或多个目录树(我们称它们为根目录)。
- Watchman 不会跟随符号链接。它知道它们存在,但在其报告中,它们与任何其他文件一样。
- Watchman 会等待根目录稳定下来,然后才会开始触发通知或命令执行。
- Watchman 是保守的,宁可谨慎行事;当您开始监视文件时,或者当它不确定时,它认为文件是新更改的。
- 您可以查询根目录自上次检查以来发生的文件更改,或树的当前状态
- 您可以订阅在根目录中发生的文件更改
快速入门
这两行代码在源目录上建立了一个监视,然后设置了一个名为 buildme 的触发器,当 CSS 文件更改时,该触发器将运行一个名为 minify-css
的工具。该工具将传递已更改的文件名列表。
$ watchman watch ~/src
# the single quotes around '*.css' are important!
$ watchman -- trigger ~/src buildme '*.css' -- minify-css
buildme 的输出将落在 Watchman 日志文件中,除非您将其发送到其他地方。