Bun реализует набор нативных API в глобальном объекте Bun и через ряд встроенных модулей. Эти API сильно оптимизированы и представляют канонический «Bun-нативный» способ реализации некоторой распространённой функциональности.
Bun стремится реализовать стандартные веб-API, где это возможно. Bun внедряет новые API в первую очередь для серверных задач, где не существует стандарта, таких как ввод-вывод файлов и запуск HTTP-сервера. В этих случаях подход Bun всё ещё строится на стандартных API, таких как Blob, URL и Request.
ts
Bun.serve({
fetch(req: Request) {
return new Response("Success!");
},
});Нажмите на ссылку в правом столбце, чтобы перейти к соответствующей документации.
| Тема | API |
|---|---|
| HTTP-сервер | Bun.serve |
| Оболочка | $ |
| Сборщик | Bun.build |
| Ввод-вывод файлов | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| Дочерние процессы | Bun.spawn, Bun.spawnSync |
| TCP-сокеты | Bun.listen, Bun.connect |
| UDP-сокеты | Bun.udpSocket |
| Веб-сокеты | new WebSocket() (клиент), Bun.serve (сервер) |
| Транспайлер | 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 |
| Воркеры | 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.color |
| Низкоуровневые / внутренние | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |