我已经遇到使用问题nodemon
连同vim
nodemon是一个守护程序,每次文件更改时都会监视文件并启动脚本.
奇怪的是,当我运行nodemon并使用vim保存文件时,nodemon会检测到文件的两个文件更改.
您可以使用以下代码段复制此问题:
npm install nodemon -g
echo "console.log('hello world');" > server.js
nodemon server.js -V
vim server.js
Run Code Online (Sandbox Code Playgroud)
比尝试保存文件(用:w
)
似乎每次我从vim保存文件时,手表都会被触发两次.但是,如果您打开server.js
使用pico
,文件更改一次.
我认为问题不在于nodemon,所以我在这里问什么可以创建这种特殊行为?
我也尝试禁用所有vim plubin,vim -u NONE server.js
但这没有帮助.
它们也是github上相应的问题:https://github.com/remy/nodemon/issues/349,然而,要知道发生了什么似乎并不容易.
这是由于 Vim 的文件写入处理造成的。请:help 'backupcopy'
参阅 说明。Vim 等编辑器用临时备份替换原始文件,以避免完全丢失文件内容。inotifywait
通过(请参阅此处)查看文件更改时,这也是一个问题。解决方法是
:set backupcopy=yes
Run Code Online (Sandbox Code Playgroud)
您仍然会看到备份文件的事件,但至少是另一个文件的事件。要完全放弃备份的安全性,您还可以
:set nobackup
Run Code Online (Sandbox Code Playgroud)