NodeJS fs.watch 很好的监听文件事件,我们想用它来自动将sass文件编译成css文件,或者coffee脚本编译成js脚本。
但是有一个问题让我们感到困惑。由于我们使用 git,在执行 'git merge' 或 'git checkout branch' 时,有很多文件更改事件需要过滤。
如何抑制这些不必要的事件?
NodeJS fs.watch 很好的监听文件事件,我们想用它来自动将sass文件编译成css文件,或者coffee脚本编译成js脚本。
但是有一个问题让我们感到困惑。由于我们使用 git,在执行 'git merge' 或 'git checkout branch' 时,有很多文件更改事件需要过滤。
如何抑制这些不必要的事件?
一种方法是确保通过包装器或别名或 git 设置任何 git 操作(合并/签出),某种标志(如文件' git_operation_in_progress
')。
如果您的侦听器检测到该fs.watchFile(filename, [options], listener)
标志文件的更改,则该侦听器可以检测但忽略(即不采取任何措施)所有其他文件的更改,直到该“ ”再次更改或消失。git_operation_in_progress