如何正确重启nodemon服务器

时间:2018-04-11 09:52:27

标签: node.js nodemon

当我使用以下命令运行nodejs服务器时:

"start": "nodemon --max-old-space=8192 ./src/app.js --exec babel-node"

我更改了代码中的任何内容,nodemon自动重新加载代码并使用以下消息重新启动服务器。

[nodemon] restarting due to changes...
[nodemon] starting `babel-node --max-old-space=8192 ./src/app.js`

如何以相同方式手动重启服务器?

或者换句话说:我在package.json脚本“restart”命令中写什么来模拟nodemon自动完成的相同行为?

由于

4 个答案:

答案 0 :(得分:2)

documentation中所述,您可以通过在rs正在运行的控制台中键入nodemon来手动重新启动。 没有外部命令可以从其他进程触发重启 一种解决方法是通过模拟文件的更改来触发重启 观看文件上的简单touch就足够了。所以你可以编写一个触及其中一个监视文件的npm脚本。

"restart": "touch app.js"

答案 1 :(得分:2)

nodemon的目的是监听文件的更改并重新启动服务器。如果您想手动重启服务器,那么您不需要使用nodemon,只需使用node命令。

以下代码可用于此目的。

{
    "scripts": {
        "start": "node ./src/app.js",
        "restart": "kill -9 $(ps aux | grep '\snode\s' | awk '{print $2}') && node ./src/app.js "
    },
}

答案 2 :(得分:0)

如果过一阵子您特别想解决“听EADDRINUSE:地址已在使用中” 错误,则可以检查哪个应用程序正在使用nodemon想要使用的端口:

sudo lsof -i :4500

以上内容将为您提供使用该端口的应用程序的PID。然后,您可以通过以下方式终止该过程:

kill -9 <PID>

答案 3 :(得分:0)

来源:https://www.npmjs.com/package/nodemon

手动重启


nodemon在运行时,如果您需要手动重新启动 应用程序,而不是停止并重新启动nodemon,您可以键入 rs 带有回车符,nodemon将重新启动您的进程。