038Node.js后端服务处理端口号被占用的解决方案portfinder
端口占用处理方案一:
const port = Number(config.APP_HTTP_PORT) || 9098;
console.log(`服务启动中......
帮助:启动中若发生端口占用错误,可以打开命令行,
输入port}>,
然后再输入
---------------------------------------------------------
`);
端口占用处理方案二:
安装portfinder依赖包npm i portfinder
封装同步执行函数
start(+config.APP_HTTP_PORT);async function start(port: number) {
// 寻找可用端口号
const portfinder = require('portfinder');
port = await portfinder.getPortPromise({ port });
Server.listen(port, config.APP_HTTP_HOST, () => {const url = `${config.APP_HTTP_HOST}${port ? ':' + port : ''}`;if (!isDev) {const { exec } = require('child_process');exec(`start ${config.APP_HTTP_SSL}://${url}`);}console.log(`恭喜您,服务在端口${port}启动成功!1. HTTP网页与API接口服务启动成功:
清在浏览器中输入网址进行访问,网址:${config.APP_HTTP_SSL}://${url}2. WS基于Socket双向通信服务启动成功:
请使用WS网址建立通信服务,WS网址:${config.APP_HTTP_WS}://${url}提示:可以按住键盘Ctrl+C终止以上服务
`);
});
}