默认进行打包。 与 esbuild 不同,Bun 默认会进行打包;无需使用
--bundle 标志。若要分别转译每个文件,
请使用 Bun.Transpiler。仅限打包器。 与 esbuild 不同,Bun 的打包器没有内置开发服务器。将其与
Bun.serve 及其他运行时 API
结合使用,即可实现相同的效果。esbuild 的 HTTP 选项不适用。性能
在 esbuild 的 three.js 基准测试中,Bun 的打包器速度比 esbuild 快 1.75 倍。从零开始打包 10 份 three.js,启用源码映射和压缩
CLI API
terminal
--minify 这样的布尔标志不接受参数。像 --outdir <path> 这样需要一个参数的标志,可以写成 --outdir out 或 --outdir=out。某些标志(如 --define)可以重复使用:--define foo=bar --define bar=baz。
JavaScript API
插件 API
Bun 的插件 API 旨在兼容 esbuild。Bun 不支持 esbuild 的全部插件 API,但实现了核心功能。许多第三方 esbuild 插件无需修改即可与 Bun 配合使用。从长远来看,我们的目标是实现与 esbuild API 的功能对等。如果某些功能无法正常工作,请提交 issue,帮助我们确定优先级。
myPlugin.ts
onStart、onEnd、onResolve 和 onLoad;但没有实现 esbuild 的钩子 onDispose 和 resolve。Bun 部分实现了 initialOptions:该对象为只读,仅公开 esbuild 选项的一个子集。请改用 config(Bun 的 BuildConfig 格式中具有相同功能的对象)。
myPlugin.ts
onResolve
- 选项
- 参数
- 返回值
- 🟢
filter - 🟢
namespace
onLoad
- 选项
- 参数
- 返回值
- 🟢
filter - 🟢
namespace