Astro

Astro の設定ファイルで環境変数を読み込む

June 4, 2025

Astro は、他のファイルが読み込まれる前に configuration files を評価する。つまり、.env ファイルにセットされている環境変数にアクセスするときに import.meta.env を使っても、astro.config.mjs 内ではアクセスできない。

この場合、CLI から環境変数をセットして process.env を設定ファイル内で使うか、もしくは Vite's loadEnv() ヘルパーを使って manually に .env file を読み込む。

import { loadEnv } from 'vite'
 
const { SECRET_PASSWORD } = loadEnv(process.env.NODE_ENV, process.cwd(), '')

この関数のシグネチャは次の通り。

function loadEnv(
  mode: string,
  envDir: string | false,
  prefixes?: string | string[]
): Record<string, string>

mode, envDir prefixes を受け取って、オブジェクトを返す。