.envファイルを使って、開発環境と本番環境で出し分けする時のメモ。
設定方法
.envファイルは環境変数(Environment Variables)を定義するためのファイルです。
開発環境や本番環境で変えたい設定情報(APIキーやURL、接続情報など)を開発コードの外に分離して、まとめて管理できます。
また、ソースコード上に含めたくない情報を隠せるという利点もあります。
.envファイルの設定を試してみます。
記述はKEY=VALUEの形式で、値は文字列として扱われます。
# APIのURL API_URL=https://example.com # 本番環境かどうか IS_PROD=false
次に出し分けの設定です。
今回はNode.js v22.11.0で使用しますが、v20.6.0より前のバージョンの場合はdotenvのパッケージが必要になります。
const API_URL = process.env.API_URL ?? "未設定時の初期値"; console.log(API_URL); if (process.env.IS_PROD === 'true') { console.log('本番環境の処理'); } else { console.log('開発環境の処理'); }
実際に使う際には「–env-file」オプションを使って.envを指定します。
node --env-file=.env index.js
これで.envファイルを使って出し分けができるようになりました。
開発環境と本番環境での出し分けの場合、「.env.development」と「.env.production」などのように、.envファイル自体を開発環境用と本番環境用で用意する方法もあります。
.env.developmentを作成して、以下の内容にしてみます。
# APIのURL API_URL=https://dev.example.com # 本番環境かどうか(true / false) IS_PROD=false
同じく.env.productionを以下の内容で作成します。
# APIのURL API_URL=https://example.com # 本番環境かどうか(true / false) IS_PROD=true
あとは使用する際に「–env-file」の指定を変更すればOKです。
開発環境の場合 node --env-file=.env.development index.js 本番環境の場合 node --env-file=.env.production index.js
コメントが承認されるまで時間がかかります。