Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Cloudflare 環境

最終更新 Markdown で表示Agent セットアップ

Worker の設定ファイルには、複数の Cloudflare 環境 の設定を含められます。 Cloudflare Vite プラグインでは、開発時またはビルド時に環境変数 CLOUDFLARE_ENV を指定して、使う Cloudflare 環境を選びます。 次の Worker 設定ファイルを例にします。

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-09-20",
	"main": "./src/index.ts",
	"vars": {
		"MY_VAR": "Top-level var"
	},
	"env": {
		"staging": {
			"vars": {
				"MY_VAR": "Staging var"
			}
		},
		"production": {
			"vars": {
				"MY_VAR": "Production var"
			}
		}
	}
}
"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-09-20"
main = "./src/index.ts"

[vars]
MY_VAR = "Top-level var"

[env.staging.vars]
MY_VAR = "Staging var"

[env.production.vars]
MY_VAR = "Production var"

CLOUDFLARE_ENV=production vite build を実行すると、ビルドが出力する wrangler.json は、'production' Cloudflare 環境向けにフラット化した設定になります。例は次のとおりです。

{
	"name": "my-worker",
	"compatibility_date": "2025-04-03",
	"main": "index.js",
	"vars": { "MY_VAR": "Production var" }
}

MY_VAR の値は Production var です。 このフラット化した設定は、トップレベルのみ継承可能継承不可 のキーを組み合わせます。

Cloudflare 環境は開発時にも使えます。 たとえば CLOUDFLARE_ENV=development vite dev を実行できます。 よくある使い方は、既定のトップレベル環境を開発環境にし、必要に応じて環境を追加することです。

ローカル開発でのシークレット

ローカル開発で使うシークレットは、Wrangler 設定ファイルと同じディレクトリの .dev.vars または .env に置きます。

これらのファイルは dotenv の構文で記述します。例:

.dev.vars / .envbash
SECRET_KEY="value"
API_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"

Cloudflare 環境ごとに異なるシークレットを設定するには、.dev.vars.<environment-name> または .env.<environment-name> という名前のファイルを作成します。

ローカル開発で Cloudflare 環境を選ぶと、対応する環境固有のファイルが、汎用の .dev.vars(または .env)より先に読み込まれます。

  • .dev.vars.<environment-name> を使う場合、すべてのシークレットを環境ごとに定義する必要があります。.dev.vars.<environment-name> が存在すると、そのファイルだけが読み込まれ、.dev.vars は読み込まれません。
  • 一方、一致する .env ファイルはすべて読み込まれ、値がマージされます。各変数には、もっとも具体的なファイルの値が使われます。優先順位は次のとおりです。
    • .env.<environment-name>.local(もっとも具体的)
    • .env.local
    • .env.<environment-name>
    • .env(もっとも汎用)

Cloudflare 環境と Vite モードを組み合わせる

Cloudflare 環境Vite モード の考え方を組み合わせたい場合があります。 この方法では、Vite モードで Cloudflare 環境を選び、環境固有の設定とコードを同じ手順で決められます。 先ほどの例を再度使います。

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-09-20",
	"main": "./src/index.ts",
	"vars": {
		"MY_VAR": "Top-level var"
	},
	"env": {
		"staging": {
			"vars": {
				"MY_VAR": "Staging var"
			}
		},
		"production": {
			"vars": {
				"MY_VAR": "Production var"
			}
		}
	}
}
"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-09-20"
main = "./src/index.ts"

[vars]
MY_VAR = "Top-level var"

[env.staging.vars]
MY_VAR = "Staging var"

[env.production.vars]
MY_VAR = "Production var"

次に、.env.staging.env.production ファイルを用意します。

.env.stagingsh
CLOUDFLARE_ENV=staging
.env.productionsh
CLOUDFLARE_ENV=production

既定では、vite build は 'production' Vite モードを使います。 そのため Vite は .env.production を読み込み、ビルドで使う環境変数を取得します。 .env.production には CLOUDFLARE_ENV=production があるため、Cloudflare Vite プラグインは 'production' Cloudflare 環境を選びます。 その結果、MY_VAR の値は 'Production var' になります。 vite build --mode staging を実行すると、'staging' Vite モードが使われ、'staging' Cloudflare 環境が選ばれます。 その結果、MY_VAR の値は 'Staging var' になります。

Vite での .env ファイルの使い方について詳しくは、関連ドキュメント を参照してください。

役に立ちましたか?