橙宝书
构建

Bindings、环境与 Secrets

把资源绑定、普通变量和密钥分开,并避免环境配置未继承造成的线上故障。

编辑与核验:橙宝书编辑团队 ·

BUILD进阶20 分钟最后核验:2026-08-26

三类配置不要混放

类型示例是否进仓库
资源 Bindingenv.DBenv.BUCKETenv.AI配置名可以;真实资源 ID 视仓库策略
普通变量功能开关、公开基础 URL可以,但要当公开信息
SecretAPI Token、签名密钥不可以;用 wrangler secret 或 Secret Store

Bindings 不是把密钥塞进全局变量,而是由 Workers runtime 通过 env 提供资源能力。对 TypeScript 项目,修改 Wrangler 配置后运行 wrangler types,让绑定名的错误在构建期暴露。

环境继承陷阱

bindingsvarssecrets 在 Wrangler environments 中不继承。stagingproduction 必须分别声明需要的配置;不要假设顶层 DB 会自动出现在子环境。

wrangler.jsonc
{
  "name": "notes-api",
  "compatibility_date": "2026-08-25",
  "vars": { "APP_MODE": "development" },
  "env": {
    "production": {
      "vars": { "APP_MODE": "production" }
    }
  }
}

上例只演示普通变量。生产环境需要的 D1/R2/AI bindings 仍应在该环境显式声明。

本地密钥

.dev.vars.env 选择一种工作流,不要同时维护。两者都应加入忽略规则;提交 .dev.vars.example 时只放占位符。

泄露处置

如果真实 Token 已进入 Git 历史,删除当前文件不等于撤销泄露。先吊销/轮换,再清理历史并审计使用记录。

检查点

pnpm wrangler types
pnpm wrangler dev --env production

第二条只应针对安全的本地/预览资源;不要让本地验证误连生产数据库。

官方来源

这篇内容帮你完成目标了吗?

内测反馈只在当前浏览器生成,不会自动上传。

本页目录