我目前正在使用Express.js编程Node.js,每次我更改文件路由器或应用程序中的一行代码时,我都需要输入命令:
pm2 reload id_project.
如何在更改文件时让pm2自动重新加载项目?
答案 0 :(得分:77)
您需要使用pm2
选项启动--watch
项目:
pm2 start id_project --watch
您还可以指定要忽略的文件/目录:
pm2 start id_project --watch --ignore-watch "node_modules"
或创建一个json文件,描述您希望pm2
如何处理您的项目:
{
"name": "project_name",
"script": "index.js",
"watch": true,
"ignore_watch": ["node_modules"]
}
答案 1 :(得分:3)
PM2随附一个方便的development tool,可让您启动应用程序并在文件更改时重新启动它:
# 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
答案 2 :(得分:1)
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
答案 3 :(得分:0)
默认情况下,每次更改文件时,节点都不会自动刷新我们的服务器。我不知道具体的pm2解决方案,但你可以用nodemon做到这一点。只需安装:npm install -g nodemon
并使用:nodemon server.js
。