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.ymlenv_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
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です