SuperAPI AI 工具集

bun-api

编程与开发

查看项目

更新于 10-15 21:11

技能介绍

本技能是 Bun 运行时 API 参考,用于 TypeScript 脚本开发。Bun 原生运行 TypeScript,无需 tsc、ts-node 或构建步骤,可直接用 bun file.ts 运行;运行不做类型检查,需用 bun check(v1.4.3+)。在含 bun.lock、bun.lockb、bunfig.toml 或 bun-types/@types/bun 的 Bun 项目中,应始终用 Bun 运行脚本并优先使用 Bun 原生 API,避免混用 Node.js 等价实现导致问题。

资料建议先阅读 Bun 自带文档:安装了 bun-types 或 @types/bun 后,可查阅 node_modules/bun-types/docs 下的 mdx 文档与类型声明。应依赖 bun-types 而非 @types/bun,后者滞后于版本发布,可能导致新 API 类型检查失败;可执行 bun remove @types/bun 与 bun add -d bun-types@$(bun --version),并在 tsconfig.json 设置 types: ["bun-types"]。不要编辑 node_modules 下文件,应使用 bun patch。未安装时同路径文档可在线访问。

主要覆盖:Bun.serve() 内置 HTTP 服务器,支持 routes 路由、参数、按方法处理、静态与目录响应、fetch 兜底、error 处理,以及 server.stop()、reload()、requestIP()、upgrade();HTTP/2(v1.4.1+ 实验性,与 HTTP/1.1 同端口);文件响应支持 Range 与 If-Range(v1.4.3+)。TCP/UDP 套接字使用 Bun.listen()/Bun.connect()/Bun.udpSocket()。Bun.FetchSession(v1.4.3+)可分组设置 TLS、代理与 keep-alive 及独立连接池,请求级选项可覆盖会话设置,证书固定应放在会话上。文件 I/O 使用 Bun.file() 与 Bun.write(),支持文本、JSON、ArrayBuffer、流与 stdio。Shell 使用 Bun.$ 标签模板及 Bun.spawn/Bun.spawnSync。另含 Bun.Glob、Bun.env、Bun.argv、import.meta 等,以及 Bun.sql 覆盖 PostgreSQL、MySQL、SQLite。

适用于 Bun 项目中的脚本、文件处理、自动化、SQLite 数据库操作、经连接 URL 查询数据库、S3 与 Redis 操作,以及 HTTP 服务等场景。限制与缺失:具体安装、收费与价格信息暂未提供。