我目前正在使用Express.js编程Node.js,在路由或应用程序文件中更改一行代码时,我需要输入以下命令:
pm2 reload id_project.
我该如何让pm2在文件更改时自动重新加载项目?
我目前正在使用Express.js编程Node.js,在路由或应用程序文件中更改一行代码时,我需要输入以下命令:
pm2 reload id_project.
我该如何让pm2在文件更改时自动重新加载项目?
--watch
选项启动你的pm2
项目:pm2 start <script|name|id> --watch
<script|name|id>
指的是:
script
是你想让pm2处理的脚本路径name
是在"ecosystem"文件中配置的名称id
是已经使用pm2运行的应用程序的标识符,可以使用pm2 list
获取(请注意,这实际上需要使用restart
而不是start
,因此可能是最不理想的选项)您还可以指定要忽略哪些文件/目录:
pm2 start <script> --watch --ignore-watch "node_modules"
或者创建一个描述您想要pm2
如何处理您的项目的“生态系统”JSON文件:
{
"name": "project_name",
"script": "index.js",
"watch": true,
"ignore_watch": ["node_modules"]
}
pm2 start id_project --watch
中的 id_project 是什么? - test teamwatch
命令会增加更多的内存资源吗? - Chau Giang# Start your application in development mode
# it print the logs and restart on file change too
# Two way of running your application :
pm2-dev start my-app.js
# or
pm2-dev my-app.js
默认情况下,pm2不会在每次更改文件时自动刷新我们的服务器。您需要使用--watch cli参数启动您的pm2项目,以告诉pm2在文件更改时进行刷新:
pm2 start id_project --watch
请查看文档以获取更多细节,或者查看@rogier-spieker给出的更详细的答案。
pm2
,所以我无法提供比我已经提供的更多帮助。我只是说了我说的话,因为它听起来似乎可以解决 OP 的问题。尝试查看此线程中的其他答案。也许它们可以帮助你。 - Thatkookooguypm2是一个拥有许多功能的Node进程管理器。您可以运行以下命令,在检测到目录中文件更改时自动重新启动Node应用程序。
pm2 start index.js --watch
请注意,由于pm2在后台运行,您不能仅通过ctrl+c
停止正在运行的pm2进程。您必须通过传递ID或名称来停止它。
pm2 stop 0
pm2 stop index
其他两个选项如下
npx supervisor index.js
nodemon index.js