Bun 在 `Bun` 全局对象和通过一些内置模块实现了一组原生 API。这些 API 经过大量优化,代表了实现一些常见功能的典型“Bun 原生”方式。
Bun 尽可能地努力实现标准的 Web API。Bun 引入新 API 主要用于服务器端任务,在这些任务中没有标准,例如文件 I/O 和启动 HTTP 服务器。在这些情况下,Bun 的方法仍然基于 `Blob`、`URL` 和 `Request` 等标准 API。
Bun.serve({
fetch(req: Request) {
return new Response("Success!");
},
});
单击右侧列中的链接可跳转到相关文档。
| 主题 | API |
|---|---|
| HTTP 服务器 | Bun.serve |
| Shell | $ |
| 打包器 | Bun.build |
| 文件 I/O | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| 子进程 | Bun.spawn, Bun.spawnSync |
| TCP 套接字 | Bun.listen, Bun.connect |
| UDP 套接字 | Bun.udpSocket |
| WebSockets | new WebSocket() (客户端), Bun.serve (服务器) |
| Transpiler | Bun.Transpiler |
| 路由 | Bun.FileSystemRouter |
| 流式传输 HTML | HTMLRewriter |
| 哈希 | Bun.password, Bun.hash, Bun.CryptoHasher, Bun.sha |
| SQLite | bun:sqlite |
| PostgreSQL 客户端 | Bun.SQL, Bun.sql |
| Redis (Valkey) 客户端 | Bun.RedisClient, Bun.redis |
| FFI (外部函数接口) | bun:ffi |
| DNS | Bun.dns.lookup, Bun.dns.prefetch, Bun.dns.getCacheStats |
| 测试 | bun:test |
| Workers | new Worker() |
| 模块加载器 | Bun.plugin |
| Glob | Bun.Glob |
| Cookies | Bun.Cookie, Bun.CookieMap |
| Node-API | Node-API |
import.meta | import.meta |
| 实用程序 | Bun.version, Bun.revision, Bun.env, Bun.main |
| 睡眠与计时 | Bun.sleep(), Bun.sleepSync(), Bun.nanoseconds() |
| 随机数与 UUID | Bun.randomUUIDv7() |
| 系统与环境 | Bun.which() |
| 比较与检查 | Bun.peek(), Bun.deepEquals(), Bun.deepMatch, Bun.inspect() |
| 字符串与文本处理 | Bun.escapeHTML(), Bun.stringWidth(), Bun.indexOfLine |
| URL 与路径工具 | Bun.fileURLToPath(), Bun.pathToFileURL() |
| 压缩 | Bun.gzipSync(), Bun.gunzipSync(), Bun.deflateSync(), Bun.inflateSync(), Bun.zstdCompressSync(), Bun.zstdDecompressSync(), Bun.zstdCompress(), Bun.zstdDecompress() |
| 流处理 | Bun.readableStreamTo*(), Bun.readableStreamToBytes(), Bun.readableStreamToBlob(), Bun.readableStreamToFormData(), Bun.readableStreamToJSON(), Bun.readableStreamToArray() |
| 内存与缓冲区管理 | Bun.ArrayBufferSink, Bun.allocUnsafe, Bun.concatArrayBuffers |
| 模块解析 | Bun.resolveSync() |
| 解析与格式化 | Bun.semver, Bun.TOML.parse, Bun.YAML.parse, Bun.color |
| 底层/内部 | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |