Bun API
Bun 全域性物件和內建模組中可用的 Bun 原生 API 概述
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("成功!");
},
});
使用表格中的連結跳轉到相應的文件。
| 主題 | 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 |
| WebSocket | new WebSocket()(客戶端),Bun.serve(伺服器) |
| 轉譯器 | Bun.Transpiler |
| 路由 | Bun.FileSystemRouter |
| 流式 HTML | HTMLRewriter |
| 無頭瀏覽器 | Bun.WebView |
| 雜湊 | Bun.password, Bun.hash, Bun.CryptoHasher, Bun.sha |
| CSRF 防護 | Bun.CSRF.generate, Bun.CSRF.verify |
| SQLite | bun:sqlite |
| SQL 客戶端 | 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 |
| 工作執行緒 | new Worker() |
| 模組載入器 | Bun.plugin |
| Glob(檔案匹配) | Bun.Glob |
| Cookie | 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.XML, Bun.markdown, Bun.color, Bun.Image |
| 底層/內部實現 | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |