如何配置 watchman 以监视多个 fs 根目录?

How can I configure watchman to watch multiple fs roots?

例如,假设我有两个目录 srctest,并且我想 运行 当文件在这些树中的任何一个中更改时执行命令。我不想看他们的父目录,因为 srctest 有我不想看的兄弟姐妹。

好的,所以我认为您预计 node_modules 会出现性能问题。这在实践中可能不是问题(我会在某些情况下向您推荐 ;文件和目录的数量对性能的影响远大于这些文件的总大小),所以我建议只查看公共根目录,看看您是否最终遇到有关重新抓取的警告。

如果您确实遇到了重新抓取的问题,那么建议使用 ignore_dirs 配置选项。

https://facebook.github.io/watchman/docs/config.html#ignore_dirs 有更多关于此的信息,但 TL;DR 是您可以在公共根目录中创建一个 .watchmanconfig 文件,其中包含以下内容:

{
   "ignore_dirs": ["node_modules"]
}

这会导致观察者不递归到 node_modules 目录。