这是我的第一个nodeiderjs服务器。我已经创建了serveriderjs并且它正在运行。我安装了nodemon并且让它运行,我也安装了forever并且让它们一起运行。
每次我修改代码并且nodemon运行时,它都会得到以下命令:错误。
我已经做了
lsof-i传输控制协议:3000
然后我得到
节点13837 p*********m 19u IPv6 161703311 0t0 TCP *:hbci(侦听)
所以我用-kill-9PID杀死这个PID
然而,它只是再次启动,我得到的错误一遍又一遍。
我做错了什么
我只想:
- 更改代码时没有重新启动的demon
- 监视终端的API响应
- 永远地跑下去。
编辑:
- 我已经永远卸载,只是运行nodemon。
- 如果我杀死端口,它会保持关闭状态,但是如果我对代码进行更改,我会再次得到EEADINUSE错误。
我想我已经发现的是nodemon在重启服务之前并没有杀死它。
我发现了一个论坛帖子,其中建议:
nodemon qudaserver.js--信号SIGTERM
然而这也行不通
如果有任何其他建议,我们将不胜感激。
我的package.json代码:
{
"name": "qudaapi",
"version": "1.0.0",
"description": "NodeJSAPI",
"main": "qudaserver.js",
"scripts": {},
"author": "GAngel",
"license": "ISC",
"dependencies": {
"bcryptjs": "^2.4.3",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"morgan": "^1.10.0",
"mysql": "^2.18.1"
}
}
我的qudaserver.js代码:
const http = require('http');
const app = require('./app');
const port = process.env.port || 3000;
const server = http.createServer(app);
server.listen(port);
1条答案
按热度按时间csga3l581#
将其添加到package.json文件
dev : "kill -9 $(lsof -i :3000) &>/dev/null | exit 0 nodemon server.js"
的scripts部分,这样当您保存时,它会显式终止端口3000上的进程并重新启动。我希望这是有帮助的。