You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让bun build打包时替换环境变量引用为实际值

解决Bun Build打包时替换环境变量为实际值的问题

当然可以实现,Bun提供了define配置项来在构建阶段将指定的变量引用替换为实际值,以下是具体实现方式:

方法1:通过bunfig.toml配置

在项目根目录的bunfig.toml中添加构建配置,直接指定要替换的变量:

[build]
# 用JSON.stringify保证字符串格式正确(自动添加引号)
define = { "Bun.env.API_KEY" = JSON.stringify(process.env.API_KEY) }

之后执行你的构建脚本,Bun会在打包时自动把代码中所有Bun.env.API_KEY的引用替换为环境变量的实际值。

方法2:在构建脚本中直接传入参数

如果不想修改配置文件,可以在构建命令里通过--define参数直接指定替换规则,比如在package.json的scripts中:

{
  "scripts": {
    "build": "bun build src/your-entry-file.js --outdir dist --define 'Bun.env.API_KEY='\"${process.env.API_KEY}\"''"
  }
}

注意引号的转义:外层单引号包裹定义内容,内部用双引号来包裹环境变量的值,确保shell能正确解析并传入正确的字符串。

额外说明

  • 如果你的环境变量存储在.env文件中,需要先通过dotenv加载:先安装依赖bun add dotenv --dev,然后修改构建脚本:
    {
      "scripts": {
        "build": "bunx dotenv -- bun build src/your-entry-file.js --outdir dist --define 'Bun.env.API_KEY='\"${process.env.API_KEY}\"''"
      }
    }
    
  • 替换后记得检查dist/content.js,确认Bun.env.API_KEY已经被替换为实际的字符串值,避免出现语法错误(比如忘记加引号导致的未定义变量)。

内容的提问来源于stack exchange,提问作者Norfeldt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:48:16