ローカル開発で使うシークレットは、Wrangler 設定ファイルと同じディレクトリの .dev.vars または .env に置きます。
これらのファイルは dotenv ↗ の構文で記述します。例:
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(もっとも汎用)
.dev.vars または .env ファイルを使って、ローカル開発用の環境変数を設定する手順です。
-
プロジェクトルートに
.dev.vars/.envファイルを作成します。 -
キーと値のペアを追加します。
.dev.vars/.envini API_HOST="localhost:3000" DEBUG="true" SECRET_TOKEN="my-local-secret-token" -
devコマンドを実行しますWrangler
npx wrangler devyarn wrangler devpnpm wrangler devVite plugin
npx vite devyarn vite devpnpm vite dev
ローカル環境を切り替えたい場合は、環境ごとのファイルを用意できます。
たとえば、開発環境とは異なる設定が必要な staging 環境がある場合です。
-
.dev.vars.<environment-name>/.env.<environment-name>という名前のファイルを作成します。例として.dev.vars.staging/.env.stagingを使えます。 -
キーと値のペアを追加します。
.dev.vars.staging/.env.stagingini API_HOST="staging.localhost:3000" DEBUG="false" SECRET_TOKEN="staging-token" -
devコマンド実行時に環境を指定します。Wrangler
npx wrangler dev --env stagingyarn wrangler dev --env stagingpnpm wrangler dev --env stagingVite plugin
CLOUDFLARE_ENV=staging npx vite devCLOUDFLARE_ENV=staging yarn vite devCLOUDFLARE_ENV=staging pnpm vite dev.dev.vars.stagingを使う場合、.dev.varsの代わりにそのファイルの値だけが適用されます。.env.stagingを使う場合、値は.envファイルとマージされ、より具体的なファイルが優先されます。
- Wrangler 設定で複数環境を構成する方法は、ドキュメントを参照 してください。
- Wrangler の環境と Vite の環境を併用する方法は、Vite プラグインのドキュメントを参照 してください。