osgsm.io
HomeNotesAstro の設定ファイルで環境変数を読み込む

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

Published Jun 4, 2025
Updated Jun 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 を受け取って、オブジェクトを返す。


参考