Node.jsで.envファイルを使って環境変数を設定する方法
本記事では、Node.jsで.envファイルを使って効率的に環境変数を管理・設定するための方法を解説します。.envファイルを活用することで、プロジェクトの開発環境を簡単に切り替えられ、セキュリティ対策も強化できます。
ファイルの作成
.envファイルを作成し、環境変数を設定します。
MY_VARIABLE=hoge
バージョン20.6.0以降
process.env
を使って直接参照できます。
console.log(process.env.MY_VARIABLE); // hoge
ただし、実行時に--env-file
オプションが必要です。
node --env-file=.env index.js
Dockerコンテナの場合
docker-compose.ymlに以下を含めます。
env_file:
- .env
実行は、以下のいずれかの方法で行うことができます。
node index.js
node --env-file=.env index.js
docker-compose.ymlに記述する場合。
entrypoint: ["node", "index.js"]
entrypoint: ["node", "--env-file=.env", "index.js"]
コンテナ作成時に参照されるの.envファイルの値は、コンテナを再起動しても変更が反映されません。変更を適用するためには、コンテナを作成し直す必要があります。また、docker-compose.ymlにenv_file
が記述されている場合、--env-file
オプションを指定しても最新の内容が反映されません。
頻繁に.envファイルの内容を変更する場合、docker-compose.ymlファイルにenv_file
を記述するのではなく、毎回--env-file
オプションを使用して実行する方法が簡単です。
node --env-file=.env index.js
この方法を採用することで、.envファイルの変更を迅速かつ確実に反映させることができます。
バージョン20.6.0未満
dotenv
を使用します。
インストール
npm install dotenv
使用方法
dotenv
を使って環境変数を読み出す方法です。
require('dotenv').config();
console.log(process.env.MY_VARIABLE); // hoge