Nodemon +永远不会检测到文件的更改
Posted
技术标签:
【中文标题】Nodemon +永远不会检测到文件的更改【英文标题】:Nodemon + Forever not detecting changes to files 【发布时间】:2014-11-06 13:55:33 【问题描述】:我有以下命令:
/usr/local/bin/forever start -o /home/username/path/out.log -e /home/username/path/err.log /usr/local/bin/nodemon --watch /home/username/scriptpath --exitcrash /home/username/scriptpath/example.js
我的理解应该是:
永远作为守护进程运行 运行 Nodemon,它会在 /home/username/scriptpath 中看到更改时重新启动脚本,并且还会在崩溃时“退出”到永远,允许永远重新启动它。但是,我观察到 Nodemon 在监视文件夹中的文件发生更改时不会重新启动。 (虽然永远是在崩溃时重新启动,但我是故意造成的。)
注意:仅运行“nodemon example.js”按预期工作,并在更改文件时重新启动。
我需要更改什么以允许 Nodemon 在文件更改时重新启动脚本?
不幸的是,我对 linux 命令的了解有限,我很可能使用了错误的命令。
【问题讨论】:
【参考方案1】:我使用forever-service 和 nodemon。
这是我如何使用它来完成您提到的所有操作的示例。
此示例执行以下操作:每次修改应用程序 dist/assets 文件夹中的 json 或 raml 文件时,等待 10 秒然后重新启动节点应用程序(server.js 脚本):
forever-service install raml --script server.js -f " -c nodemon" -o " --delay 10 --watch dist/assets -e json,raml --exitcrash" -e "PATH=/usr/local/bin:$PATH"
它还会将日志文件转储到/var/log/raml.log
希望对你有帮助!
【讨论】:
【参考方案2】:它只会监视require
正在运行的脚本喜欢的文件中的更改。
例如:forever ./script.js
...
var x = require("./test")
如果 ./test 被更改,将重新启动 ./script。
【讨论】:
Nodemon 文档说 --watch /path/name 会监视整个文件夹(以及所有子文件夹)?一个脚本是唯一一个我不能让它自己需要的脚本。以上是关于Nodemon +永远不会检测到文件的更改的主要内容,如果未能解决你的问题,请参考以下文章