在前端开发中,经常需要检测当前系统上的某个端口是否被占用。最常见的做法是使用命令行工具来查询端口占用情况(比如 netstat
命令),但这种方式往往不够方便和易用。现在有一个npm包 @fibjs/detect-port,可以解决这个问题。
安装
在命令行中执行以下命令即可安装 @fibjs/detect-port:
npm install @fibjs/detect-port --save-dev
使用方法
检测端口是否被占用的方法如下:
-- -------------------- ---- ------- ----- ------ - ------------------------------ --- ---- - ----- --- ---------- - ------------- -- ------------ - ----------------- ------- -- ------- -- ------- - ---- - ----------------- ------- -- ------------- -
参数说明
detect
方法可以接受三个参数:
port
(Number):要检测的端口号host
(String, 可选):检测的主机名或 IP 地址,默认为'127.0.0.1'
timeout
(Number, 可选):查询的超时时间(毫秒),默认为 2000
注意事项
detect
方法返回一个 Promise 对象,在使用时需要进行异步处理,不能直接使用返回值。- 如果检测的端口被占用,检测操作会抛出
Error
异常。
示例
下面是一个完整的示例代码,演示了如何使用 @fibjs/detect-port 来检测一个可用的端口号:
-- -------------------- ---- ------- ----- ------ - ------------------------------ ----- -------- ------------------- - ----- --------------- - ------ ----- --------------- - ------ -- - ----- - ----- ---------------- --- ---- ---- - ---------------- ---- -- ---------------- ------- - --- ---------- - ------ --- - ---------- - ----- ------------- - ----- ---- - -------------------- -------- ---- --------- ---- -------- -------------- --------- - -- ------------- - ----------------- ------- -- ------------- ------ ----- - - ----- --- ------------- ---- --- --------- -------- - ------------------- ------------ -- - ---------------- --------- ---- -- ----------- -- ----------- -- - -------------------- --------- -------------- ---
这个代码会从 10000 到 65535 的所有端口号中寻找一个可用的端口,然后输出可用的端口号。如果所有端口都被占用,它会抛出一个异常。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f0d48b6403f2923b035c1a0