node.js - 在 nodejs 中为 server.listen() 重新使用相同的端口
问题描述
我正在运行 Ubuntu 18.04 并拥有 Express 4.16.3。每次运行服务器时,我都必须更改侦听端口。
我得到的错误信息是:
听 EADDRINUSE :::8080
服务器.js
import express from 'express';
const server = express();
server.get('/',(req,res)=>{
res.send('Helo Express');
});
server.listen(8080, ()=>{
console.info('Listening on port 8080');
});
有人可以解释为什么会发生这种情况吗?并提出可能的解决方法?
解决方案
这只是解决您的问题的解决方法。你能尝试使用nodemon 吗?因为如果在您的代码中检测到任何更改,这将自动重新启动您的服务器(即,它会在文件更改时重新启动您的服务器)。
因此,您将使用以下命令运行您的服务器:
nodemon server.js
如果上述方法不起作用,请使用它
const port = 8080
function startServer() {
server.listen(port, err => {
if(err) {
port++;
startServer()
} else {
console.log('Server running on port:', port)
}
})
}
这将扫描一个空闲端口,然后在控制台上打印它。
推荐阅读
- jquery - jQuery 通过 hexagon.js 滑块监听更改事件
- ios - 如何使用 react-navigation 触发状态更新?
- hyperledger-fabric - chaincode-docker-devmode 中的 CORE_PEER_ADDRESS
- sql - 如何选择在给定列中至少具有两个特定实例的 ID
- reactjs - 使用显示错误的贝宝智能按钮反应创建订阅 ===>不要同时传递 createSubscription 和 createOrder
- routing - 如何使用子路径在 Traefik 后面运行 Matomo?
- kubernetes - kubernetes:在 Deployment 和 PDB 中都指定 maxUnavailable
- vb.net - 如何在vbscript中的字符之前获取特定字符
- c# - 如何将毫秒的日期时间存储到 C# 中的 DateTime 对象中?
- android - 照片已删除,但在拍摄新照片时又出现