当我们开发前端项目时,经常需要让应用运行在指定的端口号上。如果指定的端口已被占用,则需要手动更改端口号,这样非常麻烦。portfinder 是一个 Node.js 模块,它可以自动查找可用的端口,从而避免了手动更改端口号的麻烦。
安装 portfinder
你可以使用 npm 包管理器来安装 portfinder:
npm install portfinder --save
使用 portfinder
在使用 portfinder 之前,需要先引入它:
const portfinder = require('portfinder');
查找可用端口
通过以下代码可以查找一个可用的端口:
portfinder.getPort((err, port) => { if (err) { console.error(err); } else { console.log(`The available port is ${port}`); } });
如果有多个端口需要查找,可以使用 getPorts
方法:
portfinder.getPorts(2, (err, ports) => { if (err) { console.error(err); } else { console.log(`The available ports are ${ports[0]} and ${ports[1]}`); } });
设置起始端口号
默认情况下,portfinder 将从 8000 开始查找可用端口。如果你想设置其他的起始端口号,可以使用 basePort
选项:
portfinder.basePort = 9000; portfinder.getPort((err, port) => { if (err) { console.error(err); } else { console.log(`The available port is ${port}`); } });
设置结束端口号
如果你想限制 portfinder 查找的最大端口号,可以使用 stopPort
选项:
portfinder.stopPort = 10000; portfinder.getPort((err, port) => { if (err) { console.error(err); } else { console.log(`The available port is ${port}`); } });
设置超时时间
如果 portfinder 在指定的超时时间内找不到可用端口,它将返回一个错误。默认情况下,超时时间为 5000 毫秒。如果你想设置其他的超时时间,可以使用 timeOut
选项:
portfinder.timeOut = 10000; // 10 seconds portfinder.getPort((err, port) => { if (err) { console.error(err); } else { console.log(`The available port is ${port}`); } });
总结
在本文中,我们介绍了如何使用 npm 包 portfinder 来自动查找可用的端口。通过这个工具,我们可以避免手动更改端口号的麻烦,并且可以确保应用始终运行在可用的端口上。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/40591