Bun implementiert eine Reihe von nativen APIs im globalen Bun-Objekt und über eine Anzahl von integrierten Modulen. Diese APIs sind stark optimiert und repräsentieren die kanonische "Bun-native" Art, einige gängige Funktionen zu implementieren.
Bun ist bestrebt, standardmäßige Web-APIs zu implementieren, wann immer dies möglich ist. Bun führt neue APIs hauptsächlich für serverseitige Aufgaben ein, für die es keinen Standard gibt, wie z.B. Datei-I/O und das Starten eines HTTP-Servers. In diesen Fällen baut Bun's Ansatz immer noch auf Standard-APIs wie Blob, URL und Request auf.
ts
Bun.serve({
fetch(req: Request) {
return new Response("Success!");
},
});Klicken Sie auf den Link in der rechten Spalte, um zur zugehörigen Dokumentation zu springen.
| Thema | APIs |
|---|---|
| HTTP-Server | Bun.serve |
| Shell | $ |
| Bundler | Bun.build |
| Datei-I/O | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| Kind-Prozesse | Bun.spawn, Bun.spawnSync |
| TCP-Sockets | Bun.listen, Bun.connect |
| UDP-Sockets | Bun.udpSocket |
| WebSockets | new WebSocket() (Client), Bun.serve (Server) |
| Transpiler | Bun.Transpiler |
| Routing | Bun.FileSystemRouter |
| Streaming-HTML | HTMLRewriter |
| Hashing | Bun.password, Bun.hash, Bun.CryptoHasher, Bun.sha |
| SQLite | bun:sqlite |
| PostgreSQL-Client | Bun.SQL, Bun.sql |
| Redis (Valkey) Client | Bun.RedisClient, Bun.redis |
| FFI (Foreign Function Interface) | bun:ffi |
| DNS | Bun.dns.lookup, Bun.dns.prefetch, Bun.dns.getCacheStats |
| Testing | bun:test |
| Workers | new Worker() |
| Module-Loader | Bun.plugin |
| Glob | Bun.Glob |
| Cookies | Bun.Cookie, Bun.CookieMap |
| Node-API | Node-API |
import.meta | import.meta |
| Dienstprogramme | Bun.version, Bun.revision, Bun.env, Bun.main |
| Schlaf & Timing | Bun.sleep(), Bun.sleepSync(), Bun.nanoseconds() |
| Zufall & UUID | Bun.randomUUIDv7() |
| System & Umgebung | Bun.which() |
| Vergleich & Inspektion | Bun.peek(), Bun.deepEquals(), Bun.deepMatch, Bun.inspect() |
| String- & Textverarbeitung | Bun.escapeHTML(), Bun.stringWidth(), Bun.indexOfLine |
| URL- & Pfad-Dienstprogramme | Bun.fileURLToPath(), Bun.pathToFileURL() |
| Komprimierung | Bun.gzipSync(), Bun.gunzipSync(), Bun.deflateSync(), Bun.inflateSync(), Bun.zstdCompressSync(), Bun.zstdDecompressSync(), Bun.zstdCompress(), Bun.zstdDecompress() |
| Stream-Verarbeitung | Bun.readableStreamTo*(), Bun.readableStreamToBytes(), Bun.readableStreamToBlob(), Bun.readableStreamToFormData(), Bun.readableStreamToJSON(), Bun.readableStreamToArray() |
| Speicher- & Buffer-Verwaltung | Bun.ArrayBufferSink, Bun.allocUnsafe, Bun.concatArrayBuffers |
| Modul-Auflösung | Bun.resolveSync() |
| Parsing & Formatierung | Bun.semver, Bun.TOML.parse, Bun.color |
| Low-Level / Internals | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |