Watchman

2254 查看

1.什么是Watchman?

Watchman是 facebook 的一个开源项目,它开源用来监视文件并且记录文件的改动情况,当文件变更它可以触发一些操作,例如执行一些命令等等。
在使用React Native时,官方推荐推荐安装watchman,否则你可能会遇到一个Node.js监视文件系统的BUG。

2. 安装Watchman?

在安装Watchman之前请先安装Homebrew,然后执行brew install watchman即可。

3. 概念
  • Watchman can recursively watch one or more directory trees (we call them roots).
  • Watchman does not follow symlinks. It knows they exist, but they show up the same as any other file in its reporting.
  • Watchman waits for a root to settle down before it will start to trigger notifications or command execution.
  • Watchman is conservative, preferring to err on the side of caution; it considers files to be freshly changed when you start to watch them or when it is unsure.
  • You can query a root for file changes since you last checked, or the current state of the tree
  • You can subscribe to file changes that occur in a root
4. 快速入门

These two lines establish a watch on a source directory and then set up a trigger named buildme that will run a tool named minify-css whenever a CSS file is changed. The tool will be passed a list of the changed filenames.

 $ watchman watch ~/src
 # the single quotes around '*.css' are important!
 $ watchman -- trigger ~/src buildme '*.css' -- minify-css