cloudflare的worker中的Environment环境变量和不同环境配置
2026年1月1日 18:11
大家好,我是1024小神,想进 技术群 / 私活群 / 股票群 或 交朋友都可以私信我,如果你觉得本文有用,一键三连 (点赞、评论、关注),就是对我最大的支持~
![]()
在cloudflare中配置不同的环境变量和环境是开发中肯定会遇到的,比如密钥不能明文存储,比如开发环境和测试环境隔离,这里的配置和在vite中配置环境变量还是不一样的,所以这里记录一下。官方文档:developers.cloudflare.com/workers/wra…
环境变量
环境变量的文档:developers.cloudflare.com/workers/wra…
![]()
或者在wrangler.jsonc同级目录配置.env文件:注意.env文件不应该被git记录
API_HOST="value"
API_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
就是在wrangler.jsonc中定义变量名称,然后在代码中获取:
export default {
async fetch(request, env, ctx) {
return new Response(`API host: ${env.API_HOST}`);
},
};
这里有更详细的用法说明:developers.cloudflare.com/workers/con…
当然wrangler.jsonc定义的是配置会被git同步到仓库中,肯定是不安全的,所以这里配置的一定是不重要的或测试环境的变量,在后台worker中可以配置生产环境的变量:
![]()
不同的环境
为不同的环境配置不同的环境变量也是必须的,这里有两种方式,一个是在Wrangler.jsonc中配置,另外一个就是通过配置文件.env.test、.env.prod等实现,就和在前端中配置一样简单。我这里推荐使用配置文件的方式,因为这种方式可以避免环境变量泄漏风险。
配置.env.test文件:
![]()
使用命令启动:
wrangler dev --env test
就可以看到加载的环境变量:
![]()
或者写一个接口来查询环境变量信息:
![]()
得到的结果:
![]()