首页 > 解决方案 > Cloudflare worker node.js 中的环境变量使用

问题描述

我看到很多文章在 Cloudflare worker 中设置环境变量。但我无法在 node.js 代码中读取或检索它:

`async function handleRequest(request) {
  if ('OKOK' == process.env.API_KEY) {
    return new Response('found', {
      headers: { 'content-type': 'text/plain' },
    })
  }
}
`

在此处输入图像描述

牧马人.toml

 name = "hello"
type = "javascript"

# account_id = ""
workers_dev = true
[env.production]
name = "API_KEY"

标签: cloudflare-workers

解决方案


Cloudflare Workers 不使用 Node.js。在 Workers 中,环境变量变成了简单的全局变量。因此,要访问您的环境变量,您只需编写API_KEY,而不是process.env.API_KEY.

(注意:Workers 目前正在过渡到基于 ES 模块的新语法。在这种语法中,环境变量的工作方式有所不同;一个env对象被传递给包含所有变量的事件处理程序。不过,大多数人还没有使用这种新语法。如果您的 JavaScript 用于定义事件处理程序,您就会知道您是否正在使用它export default {;另一方面,如果它使用addEventListener("fetch", ...),那么它使用的是旧语法。)


推荐阅读