默认进行打包。 与 esbuild 不同,Bun 默认会进行打包;无需使用
--bundle 标志。若要分别转译每个文件,
请使用 Bun.Transpiler。仅限打包器。 与 esbuild 不同,Bun 的打包器没有内置开发服务器。将其与
Bun.serve 及其他运行时 API
结合使用,即可实现相同的效果。esbuild 的 HTTP 选项不适用。性能
Bun 的打包器在 esbuild 的 three.js 基准测试中比 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 钩子。initialOptions 已部分实现:它是只读的,并且仅暴露 esbuild 选项的子集。请改用 config(即 Bun 的 BuildConfig 格式中的同一配置)。
myPlugin.ts
onResolve
- 选项
- 参数
- 返回值
- 🟢
filter - 🟢
namespace
onLoad
- 选项
- 参数
- 返回值
- 🟢
filter - 🟢
namespace