Open4
Cloudflare Workersで環境変数を取得する方法

Cloudflare Workersでは環境変数を取得する方法がいくつかあるので、ここで紹介します
参考資料

Fetchハンドラーから取得する
fetchの第二引数に環境変数がセットされているので、そこから取得できる
export default {
async fetch(request, env, ctx) {
return new Response(env.MY_VAR);
},
};
Honoもこの仕組みを活用して、c.env
から環境変数が取得できるようになっている
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => {
return c.text(c.env.MY_VAR)
})
export default app

cloudflare:workers
からインポートする
fetchハンドラーから環境変数を受け取る方法はHonoなどを使わない場合は結構面倒。
そこでCloudflare Workers上ではcloudflare:workers
からenv
を直接インポートすることもできる。
import { env } from "cloudflare:workers";
console.log(env.MY_VAR});

process.env
から環境変数を取得する
Cloudflare Workersではある程度Node.jsの互換性がある。
nodejs_compat_populate_process_env
というフラグを有効にすることでNode.jsと同じようにprocess.env
を使って環境変数を取得することができる。
console.log(process.env.MY_VAR});
この機能を利用する場合は、wrangler.jsoncのcompatibility_flagsにNode.jsの互換性フラグとnodejs_compat_populate_process_env
が必要になる。
wrangler.jsonc
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "example-worker",
"main": "src/index.ts",
"compatibility_date": "2025-08-11",
"compatibility_flags": [
"nodejs_compat",
"nodejs_compat_populate_process_env"
]
}