Til
Astroでの型安全な環境変数
#Astro#TypeScript
Astroで環境変数 (.env) を扱う際、process.env ではなく import.meta.env を使用する。
さらに、src/env.d.ts で型定義を行うことで、TypeScriptの恩恵をフルに受けられる。
.env
PUBLIC_API_URL=https://api.example.com
SECRET_KEY=xxxxx
PUBLIC_ プレフィクスがついた変数のみ、クライアントサイドのJavaScriptからアクセス可能になる。
型定義 (src/env.d.ts)
interface ImportMetaEnv {
readonly PUBLIC_API_URL: string;
readonly SECRET_KEY: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
こうしておけば、import.meta.env. まで打った時点で自動補完が効くようになり、タイプミスを防げる。
地味だけど開発体験 (DX) に大きく貢献する機能。