1.什么是Watchman惨寿?
Watchman是 facebook 的一個開源項(xiàng)目湖饱,它開源用來監(jiān)視文件并且記錄文件的改動情況,當(dāng)文件變更它可以觸發(fā)一些操作,例如執(zhí)行一些命令等等拔妥。
在使用React Native時溉旋,官方推薦推薦安裝watchman,否則你可能會遇到一個Node.js監(jiān)視文件系統(tǒng)的BUG煮仇。
2. 安裝Watchman劳跃?
在安裝Watchman之前請先安裝Homebrew,然后執(zhí)行<code>brew install watchman</code>即可。
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