--define 传递给 bun build 或 bun build --compile,即可将构建时常量注入应用程序。您可以使用它将构建版本、时间戳或配置标志等元数据直接嵌入编译后的可执行文件中。
terminal
为什么使用构建时常量?
Bun 会将构建时常量直接嵌入编译后的代码中,使其具有以下特点:- 零运行时开销 – 不需要环境变量查找或文件读取
- 不可变 – 值在编译时烘焙进二进制文件
- 可优化 – 未使用的分支可以被死代码消除
- 安全 – 无需管理外部依赖或配置文件
gcc -D 或 #define,但适用于 JavaScript/TypeScript。
基本用法
使用 bun build
terminal
使用 bun build --compile
terminal
JavaScript API
build.ts
常见用例
版本信息
将版本和构建元数据直接嵌入可执行文件:功能开关
使用构建时常量启用或禁用功能:src/app.ts
配置
在构建时替换配置对象:src/app.ts
高级用法
不同环境的构建
为不同环境创建不同的可执行文件:使用 Shell 命令生成动态值
通过 Shell 命令生成构建时常量:构建自动化脚本
创建一个注入构建元数据的构建脚本:重要注意事项
值的格式
值可以是 JSON、标识符或属性路径,例如globalThis 或 console.log。Bun 会解析每个值,并将其作为 JavaScript 表达式内联: