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

Cloudflare Functions:wrangler.toml嵌套配置值无法加载的问题

为什么Cloudflare Functions的嵌套配置无法从wrangler.toml加载?

Cloudflare Workers/Functions 的 [vars] 配置节仅支持扁平的键值对结构,不支持嵌套的对象或TOML子表(比如你用的[one.two])。Wrangler在处理[vars]时只会解析顶级的键值对,嵌套的TOML表结构会被忽略,所以只有zero被成功加载。

解决方案

1. 扁平化配置键名

将嵌套结构的路径用下划线或点分隔,作为单个环境变量键:

[vars]
zero = "etc"
one_two_three = "four"
# 或者用点分隔
one.two.three = "four"

在Express代码中通过环境变量直接获取:

// 下划线分隔
const threeVal = process.env.one_two_three;
// 点分隔
const threeVal2 = process.env["one.two.three"];

2. 序列化整个配置为字符串

把完整的JSON配置序列化为字符串,作为单个Var注入:

[vars]
APP_CONFIG = '''{
  "zero": "etc",
  "one": {
    "two": {
      "three": "four"
    }
  }
}'''

在代码中解析成对象:

const appConfig = JSON.parse(process.env.APP_CONFIG);
console.log(appConfig.one.two.three); // 输出 "four"

3. 使用Cloudflare Secrets(敏感配置)

如果嵌套配置包含敏感信息,建议用Cloudflare Secrets存储:

# 用Wrangler命令添加
wrangler secret put APP_CONFIG
# 然后输入序列化后的JSON字符串

代码中同样通过JSON.parse(process.env.APP_CONFIG)解析使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:12:44