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 +永远不会检测到文件的更改的主要内容,如果未能解决你的问题,请参考以下文章

Node 工具 nodemon 详解

node工具之nodemon

nodemon的使用

如何使 nodemon 与 WSL 2 一起工作?

Nodemon 不看文件

react总结杂烩