SuperAPI AI 工具集

dev-server

编程与开发

查看项目

更新于 10-16 08:03

技能介绍

用途:按需启动本地开发服务器,并处理端口占用与环境识别。

主要能力:

  1. 端口检查:运行 scripts/check_ports.sh 扫描常用开发端口;也可指定端口或查找首个可用端口。
  2. 冲突处理:若端口被同一项目占用,可用 --kill-if-same 直接结束(同一项目指进程工作目录为当前目录或其父/子目录);若是不同项目,需先询问用户再结束,或改用其他端口。
  3. 环境检测:存在 docker-compose.yml 且有 web/app 服务时,建议改用 docker compose up;monorepo 下先看当前目录 package.json 是否有 dev 脚本,否则查找 apps/web/package.json、packages/app/package.json(Turborepo/Nx 模式)或带 workspace dev 委派脚本的根 package.json。
  4. 包管理器识别:依据锁文件判断,bun.lockb 用 bun、pnpm-lock.yaml 用 pnpm、yarn.lock 用 yarn,否则用 npm。
  5. 启动:用检测到的包管理器并加 --open;需要时加 --port <n>。

命令示例: scripts/check_ports.sh scripts/check_ports.sh 3000 scripts/check_ports.sh --find 3000 scripts/check_ports.sh --kill-if-same 3000 scripts/check_ports.sh --kill 3000

框架差异:多数框架支持 --open 与 --port;Create React App 默认 3000,用 PORT=3001 环境变量而非 --port;Gatsby 默认 8000,用 -p 而非 --port;Remix 默认 3000,dev 模式下 --port 可用。若 --open 无效,服务器启动后再执行 open http://localhost:PORT。

限制:不同项目下强制结束端口需先询问用户;具体脚本实现与支持平台未提供。