Next.jsで環境変数を扱いたい
Next.jsは.env.local
というファイルに変数を記載するとそれをprocess.env.
に組み込んでくれるようになっているらしいので、例えば
.env.local
に
DB_HOST=localhost DB_USER=myuser DB_PASS=mypassword
と記載しておくとgetStaticProps
などのNode.js環境で
// pages/index.js export async function getStaticProps() { const db = await myDB.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS, }) // ... }
というように使うことができる
環境変数の公開
.env.local
はNode.js環境のみで使用可能なため、ブラウザでは利用できない
変数をブラウザに公開するには、変数の前にNEXT_PUBLIC_
をつける必要がある
NEXT_PUBLIC_ANALYTICS_ID=abcdefghijk
他の環境設定
.env.local
以外に、.env
(すべての環境)、.env.development
(開発環境)、および.env.production
(本番環境)をつくることができる
これらは.env.local
の設定を上書きする