Bun 致力于实现完整的 Node.js API 兼容性。大多数针对Node.js环境的npm包都可以直接在 Bun 中使用;确保兼容性的最佳方法是尝试使用它。
此页面定期更新以反映最新版本的 Bun 的兼容性状态。如果您在使用特定包时遇到任何问题,请提交问题。为兼容性问题提交问题有助于我们确定下一步的工作重点。
内置模块
node:assert
🟢 完全实现。
node:async_hooks
🟡 仅实现了AsyncLocalStorage和AsyncResource。
node:buffer
🟢 完全实现。
node:child_process
🟡 缺少Stream stdio,proc.gid,proc.uid。IPC 部分支持,仅与其他bun进程一起使用时有效。
node:cluster
🔴 未实现。
node:console
🟡 缺少Console构造函数。
node:crypto
🟡 缺少crypto.Certificate crypto.ECDH crypto.KeyObject crypto.X509Certificate crypto.checkPrime{Sync} crypto.createPrivateKey crypto.createPublicKey crypto.createSecretKey crypto.diffieHellman crypto.generateKey{Sync} crypto.generateKeyPair{Sync} crypto.generatePrime{Sync} crypto.getCipherInfo crypto.{get|set}Fips crypto.hkdf crypto.hkdfSync crypto.secureHeapUsed crypto.setEngine crypto.sign crypto.verify。某些方法尚未优化。
node:dgram
🔴 未实现。
node:diagnostics_channel
🟢 完全实现。
node:dns
🟢 完全实现。
node:domain
🟢 完全实现。
node:events
🟡 缺少on。
node:fs
🟡 缺少fs.fdatasync{Sync} fs.opendir{Sync}。fs.promises.open错误地返回文件描述符,而不是FileHandle。
node:http
🟢 完全实现。
node:http2
🔴 未实现。
node:https
🟢 完全实现。
node:inspector
🔴 未实现。
node:module
🟢 完全实现。
node:net
🟡 缺少net.{get|set}DefaultAutoSelectFamily net.SocketAddress net.BlockList。
node:os
🟢 完全实现。
node:path
🟢 完全实现。
node:perf_hooks
🟡 仅实现了perf_hooks.performance.now()和perf_hooks.performance.timeOrigin。建议使用全局的performance而不是perf_hooks.performance。
node:process
🟡 请参阅process全局对象。
node:punycode
🟢 完全实现。已被 Node.js 弃用。
node:querystring
🟢 完全实现。
node:readline
🟢 完全实现。
node:repl
🔴 未实现。
node:stream
🟢 完全实现。
node:string_decoder
🟢 完全实现。
node:sys
🟡 请参阅node:util。
node:timers
🟢 建议使用全局的setTimeout等,而不是timers模块。
node:tls
🟡 缺少tls.createSecurePair。
node:trace_events
🔴 未实现。
node:tty
🟢 完全实现。
node:url
🟡 缺少url.domainTo{ASCII|Unicode}。建议使用全局的URL和URLSearchParams而不是url模块。
node:util
🟡 缺少util.MIMEParams util.MIMEType util.getSystemErrorMap() util.getSystemErrorName() util.parseArgs() util.stripVTControlCharacters() util.transferableAbortController() util.transferableAbortSignal()。
node:v8
🔴 serialize和deserialize使用 JavaScriptCore 的 Wire 格式,而不是 V8 的。否则,未实现。对于性能分析,请使用bun:jsc。
node:vm
🟡 核心功能
可用,但未实现 VM 模块。可以使用ShadowRealm。
node:wasi
🟡 部分实现。
node:worker_threads
🟡 Worker不支持以下选项:eval,argv,execArgv,stdin,stdout,stderr,trackedUnmanagedFds,resourceLimits。缺少markAsUntransferable,moveMessagePortToContext,getHeapSnapshot。
node:zlib
🟡 缺少zlib.brotli*。尚未进行优化。
以下是 Node.js 和 Bun 当前兼容性状态的全局对象列表:
AbortController
🟢 完全实现。
AbortSignal
🟢 完全实现。
Blob
🟢 完全实现。
Buffer
🟡 base64 和 base64url 编码的实现不完整。
ByteLengthQueuingStrategy
🟢 完全实现。
__dirname
🟢 完全实现。
__filename
🟢 完全实现。
atob()
🟢 完全实现。
BroadcastChannel
🟢 完全实现。
btoa()
🟢 完全实现。
clearImmediate()
🟢 完全实现。
clearInterval()
🟢 完全实现。
clearTimeout()
🟢 完全实现。
CompressionStream
🔴 未实现。
console
🟡 缺少Console构造函数。
CountQueuingStrategy
🟢 完全实现。
Crypto
🟢 完全实现。
SubtleCrypto (crypto)
🟢 完全实现。
CryptoKey
🟢 完全实现。
CustomEvent
🟢 完全实现。
DecompressionStream
🔴 未实现。
Event
🟢 完全实现。
EventTarget
🟢 完全实现。
exports
🟢 完全实现。
fetch
🟢 完全实现。
FormData
🟢 完全实现。
global
🟢 已实现。这是一个包含全局命名空间中所有对象的对象。它很少直接引用,因为它的内容可以在不添加额外前缀的情况下使用,例如使用__dirname而不是global.__dirname。
globalThis
🟢 别名为global。
Headers
🟢 完全实现。
MessageChannel
🟢 完全实现。
MessageEvent
🟢 完全实现。
MessagePort
🟢 完全实现。
module
🟢 完全实现。
PerformanceEntry
🔴 未实现。
PerformanceMark
🔴 未实现。
PerformanceMeasure
🔴 未实现。
PerformanceObserver
🔴 未实现。
PerformanceObserverEntryList
🔴 未实现。
PerformanceResourceTiming
🔴 未实现。
performance
🟢 完全实现。
process
🟡 缺少process.allowedNodeEnvironmentFlags process.channel process.constrainedMemory() process.getActiveResourcesInfo/setActiveResourcesInfo() process.setuid/setgid/setegid/seteuid/setgroups() process.hasUncaughtExceptionCaptureCallback process.initGroups() process.report process.resourceUsage()。
queueMicrotask()
🟢 完全实现。
ReadableByteStreamController
🟢 完全实现。
ReadableStream
🟢 完全实现。
ReadableStreamBYOBReader
🔴 未实现。
ReadableStreamBYOBRequest
🔴 未实现。
ReadableStreamDefaultController
🟢 完全实现。
ReadableStreamDefaultReader
🟢 完全实现。
require()
🟢 完全实现,以及 require.main, require.cache, 和 require.resolve。
Response
🟢 完全实现。
Request
🟢 完全实现。
setImmediate()
🟢 完全实现。
setInterval()
🟢 完全实现。
setTimeout()
🟢 完全实现。
structuredClone()
🟢 完全实现。
SubtleCrypto
🟢 完全实现。
DOMException
🟢 完全实现。
TextDecoder
🟢 完全实现。
TextDecoderStream
🔴 未实现。
TextEncoder
🟢 完全实现。
TextEncoderStream
🔴 未实现。
TransformStream
🟢 完全实现。
TransformStreamDefaultController
🟢 完全实现。
URL
🟢 完全实现。
URLSearchParams
🟢 完全实现。
WebAssembly
🟢 完全实现。
WritableStream
🟢 完全实现。
WritableStreamDefaultController
🟢 完全实现。
WritableStreamDefaultWriter
🟢 完全实现。