跳至主要内容
Watchman logo

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 日志文件中,除非您将其发送到其他地方。