Logo of get-port-please

get-port-please

获取一个可用的开放端口

获取一个可用的 TCP 端口用于监听

用法

安装包

npm i get-port-please
// ESM
import {
  getPort,
  checkPort,
  getRandomPort,
  waitForPort,
} from "get-port-please";

// CommonJS
const {
  getPort,
  checkPort,
  getRandomPort,
  waitForPort,
} = require("get-port-please");
getPort(options?: GetPortOptions): Promise<number>
checkPort(port: number, host?: string): Promise<number | false>
waitForPort(port: number, options): Promise<number | false>

尝试顺序为:port > ports > random

选项

interface GetPortOptions {
  name?: string;

  random?: boolean;
  port?: number;
  portRange?: [fromInclusive: number, toInclusive: number];
  ports?: number[];
  host?: string;

  memoDir?: string;
  memoName?: string;
}

name

用于记住端口的唯一名称。默认为 default

random

如果启用,portports 将被忽略。默认为 false

port

要检查的第一个端口。默认为 process.env.PORT || 3000

ports

要检查的扩展端口。

portRange

要检查的扩展端口范围。

范围的开始和结束都是包含的,即在数学表示中为 [start, end]。不支持反向端口范围。如果 start > end,则将返回一个空范围。

alternativePortRange

作为备用的替代端口范围以供检查,当没有可用端口时。

范围的开始和结束都是包含的,即在数学表示中为 [start, end]。不支持反向端口范围。如果 start > end,则将返回一个空范围。

默认范围为 [3000, 3100](仅当未指定 port 时)。

host

要检查的主机。默认为 process.env.HOST,否则将检查所有可用的主机。

许可

MIT