Tag: 是空的

chokidar:文件的onchange事件可能会被触发

我们正在使用Ubuntu服务器上的nodejs使用chokidar监视文件更改。 它工作的很好,但有时我认为我们有一个文件被保存的方式改变时的问题:在chokidar“onchange”事件触发,但是当我们在callback中读取文件,它是空的或(很less)不完全写。 我们不知道这是由文本编辑器写入文件,客户端计算机上的操作系统,操作系统还是服务器上的文件系统(ext4)引起的问题,还是由于chokidar中的某种错误造成的。 这个空文件问题现在几乎每次都是由使用sublime 3的计算机(mac,最新的osx版本)所做的文件更改发生的。 在崇高,我们尝试了设置“atomic_save”(创build一个临时文件,然后覆盖原来的文件),但它没有解决我们的问题: 当atomic_save设置为“false”时,文件在onchange事件中似乎总是空的 有了atomic_save “真”,它有时是空的,有时是部分写的。 我们之前用phpstorm有过这个问题,但是在切换到'use'安全写入之后(先保存一个临时文件的变化)' – 与sub_sim中的atomic_save设置相同,这也是我们为什么尝试atomic_save在sublime中,onchange事件在完成写入后被正确触发。 所以我们的问题是,有什么办法可以在文件完全写入的时候触发“onchange”(在chokidar中,在OS中,在sublime中)? 或者,我们必须检查“onchange”事件的文件大小,直到一段时间没有改变(不太好)? 或者,我们的问题可能是由于其他原因而发生的? 我们将不胜感激任何提示! 提前致谢!