NodeJS fs.watch非常适合监听文件事件,我们希望用它来自动将sass文件编译为css文件,或将咖啡脚本自动编译为js脚本。
但有一个问题令我们感到困惑。由于我们在执行'git merge'或'git checkout branch'时使用git,因此应该过滤很多文件更改事件。
如何抑制这些不必要的事件?
答案 0 :(得分:0)
一种方法是确保任何git操作(合并/检出)通过包装器或别名或git设置某种标志(如文件“git_operation_in_progress
”)。
如果您的fs.watchFile(filename, [options], listener)
的侦听器检测到该标志文件的更改,则该侦听器可以检测到,但忽略(即不采取任何操作),所有其他文件的更改,向上直到'git_operation_in_progress
'再次改变或消失。