Cloudflare 工作节点 Node.js 中的环境变量使用

Noo*_*per 3 cloudflare-workers

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

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

在此输入图像描述

牧马人.toml

name = "hello"
type = "javascript"

# account_id = ""
workers_dev = true
[env.production]
name = "API_KEY"
Run Code Online (Sandbox Code Playgroud)

Ken*_*rda 16

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

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

  • @VityaSchel 你为什么这么说?对我来说仍然看起来正确。 (2认同)