如何正确重启nodemon服务器
How to properly restart nodemon server
当我 运行 使用以下命令的 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 自动完成的相同行为?
谢谢
如 documentation 中所述,您可以通过在控制台中键入 rs
手动重新启动,其中 nodemon
为 运行。
没有外部命令可以从不同的进程触发重启。
一种解决方法是通过模拟文件更改来触发重新启动。
一个简单的 touch
在被监视的文件上就足够了。因此,您可以编写一个 npm 脚本来访问其中一个被监视的文件。
"restart": "touch app.js"
nodemon
的目的是监听文件的变化并重启服务器。如果你想手动重启服务器那么你不需要使用nodemon,你可以使用node
命令。
下面的代码可以达到目的。
{
"scripts": {
"start": "node ./src/app.js",
"restart": "kill -9 $(ps aux | grep '\snode\s' | awk '{print }') && node ./src/app.js "
},
}
如果你特别想在一段时间后解决"listen EADDRINUSE: address already in use"错误,你可以检查哪个应用程序正在使用nodemon想要使用的端口:
sudo lsof -i :4500
以上将为您提供使用该端口的应用程序的 PID。然后你可以通过以下方式终止进程:
kill -9 <PID>
来源:https://www.npmjs.com/package/nodemon
Manual restarting
Whilst nodemon is running, if you need to manually restart your
application, instead of stopping and restart nodemon, you can type rs
with a carriage return, and nodemon will restart your process.
当我 运行 使用以下命令的 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 自动完成的相同行为?
谢谢
如 documentation 中所述,您可以通过在控制台中键入 rs
手动重新启动,其中 nodemon
为 运行。
没有外部命令可以从不同的进程触发重启。
一种解决方法是通过模拟文件更改来触发重新启动。
一个简单的 touch
在被监视的文件上就足够了。因此,您可以编写一个 npm 脚本来访问其中一个被监视的文件。
"restart": "touch app.js"
nodemon
的目的是监听文件的变化并重启服务器。如果你想手动重启服务器那么你不需要使用nodemon,你可以使用node
命令。
下面的代码可以达到目的。
{
"scripts": {
"start": "node ./src/app.js",
"restart": "kill -9 $(ps aux | grep '\snode\s' | awk '{print }') && node ./src/app.js "
},
}
如果你特别想在一段时间后解决"listen EADDRINUSE: address already in use"错误,你可以检查哪个应用程序正在使用nodemon想要使用的端口:
sudo lsof -i :4500
以上将为您提供使用该端口的应用程序的 PID。然后你可以通过以下方式终止进程:
kill -9 <PID>
来源:https://www.npmjs.com/package/nodemon
Manual restarting
Whilst nodemon is running, if you need to manually restart your application, instead of stopping and restart nodemon, you can type rs with a carriage return, and nodemon will restart your process.