【问题标题】:Nodemon + Forever not detecting changes to filesNodemon +永远不会检测到文件的更改
【发布时间】: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 命令的了解有限,我很可能使用了错误的命令。

【问题讨论】:

    标签: linux node.js ubuntu-14.04 forever nodemon


    【解决方案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 会监视整个文件夹(以及所有子文件夹)?一个脚本是唯一一个我不能让它自己需要的脚本。
      猜你喜欢
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 2017-12-07
      • 1970-01-01
      • 2018-11-30
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多