Bun 在服务器优先的运行时环境中不支持一些 Web API,例如DOM API或History API等,因为它们通常与浏览器环境相关。然而,许多其他 Web API 在浏览器之外的上下文中仍然广泛有用。因此,Bun 在可能的情况下实现这些 Web 标准 API,而不是引入新的 API。
以下是部分或完全受支持的 Web API。
| HTTP | fetch Response Request Headers AbortController AbortSignal | |
| URLs | URL URLSearchParams | |
| Web Workers | Worker self.postMessage structuredClone MessagePort MessageChannel BroadcastChannel | |
| Streams | ReadableStream WritableStream TransformStream ByteLengthQueuingStrategy CountQueuingStrategy及其相关类 | |
| Blob | Blob | |
| WebSockets | WebSocket(尚不完全生产就绪) | |
| 编码和解码 | atob btoa TextEncoder TextDecoder | |
| JSON | JSON | |
| 超时 | setTimeout clearTimeout | |
| 间隔 | setInterval clearInterval | |
| 加密 | crypto SubtleCrypto CryptoKey | |
| 调试 | console performance | |
| 微任务 | queueMicrotask | |
| 错误 | reportError | |
| 用户交互 | alert confirm prompt(用于交互式 CLI) | |
| 领域 | ShadowRealm | |
| 事件 | EventTarget Event ErrorEvent CloseEvent MessageEvent |