我目前正在用 Express.js 编写 Node.js,每次更改文件路由器或应用程序中的一行代码时,都需要键入命令:
pm2 reload id_project.
更改文件时如何使 pm2 自动重新加载项目?
我目前正在用 Express.js 编写 Node.js,每次更改文件路由器或应用程序中的一行代码时,都需要键入命令:
pm2 reload id_project.
更改文件时如何使 pm2 自动重新加载项目?
您需要使用以下选项开始您的pm2
项目:--watch
pm2 start <script|name|id> --watch
其中<script|name|id>
指:
script
要让 pm2 处理的脚本的路径name
“生态系统”文件中的配置名称id
指使用 pm2 已经在运行的应用程序,可以使用来获得pm2 list
(请注意,这实际上需要 arestart
而不是start
,因此它可能是最不可取的选项)您还可以指定要忽略的文件/目录:
pm2 start <script> --watch --ignore-watch "node_modules"
或者创建一个“生态系统”json 文件来描述你想pm2
如何对待你的项目:
{
"name": "project_name",
"script": "index.js",
"watch": true,
"ignore_watch": ["node_modules"]
}
PM2 带有一个方便的开发工具,允许您启动应用程序并在文件更改时重新启动它:
# 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 是一个有很多花里胡哨的 Node 进程管理器。当检测到目录中的文件更改时,您可以运行以下命令以自动重新启动节点应用程序。
pm2 start index.js --watch
请注意,因为 pm2 在后台运行,所以您不能只是ctrl+c
退出正在运行的 pm2 进程。您必须通过传递 ID 或名称来阻止它。
pm2 stop 0
pm2 stop index
其他两个选项如下
npx supervisor index.js
nodemon index.js
默认情况下,pm2 不会在我们每次更改文件时自动刷新我们的服务器。您需要使用 --watch cli 参数启动 pm2 项目,以便在文件更改时告诉 pm2 刷新:
pm2 start id_project --watch
查看文档以获取更多详细信息,或查看更详细的@rogier-spieker 答案。