永远使用 nodemon(命令行)
Posted
技术标签:
【中文标题】永远使用 nodemon(命令行)【英文标题】:forever with nodemon (command line) 【发布时间】:2016-11-21 19:39:54 【问题描述】:我正在尝试永远使用 nodemon。
我对 nodemon 没有任何问题:
nodemon --exitcrash node/index.js -- "user/verbs/config"
但是,按照nodemon FAQ 中的说明,并根据https://***.com/a/20306929/271577 的评论在“nodemon --exitcrash”周围加上引号(以避免永远认为参数“user/verbs/config”是文件) 产生:
forever start --minUptime 1000 --spinSleepTime 1000 --killSignal=SIGTERM -c "nodemon --exitcrash" node/index.js -- "user/verbs/config"
...我收到消息
信息:永远处理文件:node/index.js
并且脚本没有继续。运行 forever list
显示“没有永远运行的进程”。
(注意:我最终希望这与 forever-monitor
一起使用,但我认为上面需要先使用。)
我有什么遗漏吗?
【问题讨论】:
我不知道所涉及的具体工具,但您应该注意,在您的第二个命令中,forever
接收-- "user/verbs/config"
作为参数,而不是nodemon
,就像在您的第一个命令中一样.
Hmm..由于 nodemon 应该将 ` -- ` 之后的任何内容传递到脚本上(即,在这种情况下为“node/index.js”),我知道我会怎么做这样做?
我明白了,所以我可能错了,因为听起来forever
将SCRIPT
参数后面的任何内容传递给后者。从forever
的帮助中不明显的一件事:-c
真的接受命令 line (可执行文件+选项)而不是仅仅命令 name (name/可执行文件的路径)?如果只是后者,您可能必须编写一个可执行的包装器 shell 脚本来包装 nodemon --exitcrash
调用。
你在 Windows 上尝试这个绝对值得一提;传递给-c
的包装脚本应该是一个.cmd
(.bat
) 文件,其中硬编码了--exitrcrash
和"user/verbs/config"
,并将.js
文件作为参数传递,尽管您将必须测试forever
是否能够直接调用批处理文件。
很抱歉听到这个消息 - 祝你好运。
【参考方案1】:
forever -c "nodemon --exitcrash" app.js
这确保nodemon
实际退出(而不是给您“应用程序崩溃”消息),然后forever
再次选择它。
在forever --help
中,-c
指定要运行的命令,否则默认节点。没有 -c 会导致 cmets 中提到的错误。
Source
【讨论】:
以上是关于永远使用 nodemon(命令行)的主要内容,如果未能解决你的问题,请参考以下文章
如何调试通过命令行 (cli) 启动的节点应用程序,例如永远或主管?