阅读视图

发现新文章,点击刷新页面。

cloudflare的worker中的Environment环境变量和不同环境配置

大家好,我是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

就可以看到加载的环境变量:

或者写一个接口来查询环境变量信息:

得到的结果:

如果你有好的想法或需求,都可以私信我,我这里有很多程序员朋友喜欢用代码来创造丰富多彩的计算机世界
❌