如何在使用pm2时自动重新加载Node.js项目

Mr.*_*ung 15 javascript node.js express pm2

我目前用Express.js编写Node.js,每次我更改文件路由器或应用程序中的一行代码时,我需要输入命令:

pm2 reload id_project.
Run Code Online (Sandbox Code Playgroud)

如何在更改文件时使pm2自动重新加载项目?

Rog*_*ker 86

您需要pm2使用以下--watch选项启动项目:

pm2 start <script|name|id> --watch
Run Code Online (Sandbox Code Playgroud)

您还可以指定要忽略的文件/目录:

pm2 start <script> --watch --ignore-watch "node_modules"
Run Code Online (Sandbox Code Playgroud)

所有选择

或者创建一个描述您希望<script|name|id>如何处理项目的json文件:

{
  "name": "project_name",
  "script": "index.js",
  "watch": true,
  "ignore_watch": ["node_modules"]
}
Run Code Online (Sandbox Code Playgroud)

JSON选项

  • 是的,这应该是公认的答案。 (2认同)

小智 6

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
Run Code Online (Sandbox Code Playgroud)


Tha*_*guy 5

默认情况下,pm2 不会在每次更改文件时\xe2\x80\x99 自动刷新我们的服务器。\n您需要使用 --watch cli 参数启动 pm2 项目,以便告诉 pm2 在文件更改时刷新:

\n
pm2 start id_project --watch\n
Run Code Online (Sandbox Code Playgroud)\n

查看文档了解更多详细信息,或者查看更详细的@rogier-spieker 答案。

\n

  • 就个人而言,看起来该线程中的其他答案应该得到接受的答案。只要它是已接受的答案,我什至无法删除它。 (2认同)