Node.js から環境変数を読み取る方法
Node.js のプロセスコアモジュールは、プロセスが開始された時点で設定されていたすべての環境変数を保持するenv
プロパティを提供します。
以下のコードはapp.js
を実行し、USER_ID
とUSER_KEY
を設定します。
bash
USER_ID=239482 USER_KEY=foobar node app.js
これにより、ユーザーのUSER_ID
は 239482、USER_KEY
は foobar として渡されます。これはテストには適していますが、本番環境では、おそらくいくつかの bash スクリプトを構成して変数をエクスポートすることになります。
NOTE
process
は"require"
を必要としません。自動的に利用可能です。
以下は、上記のコードで設定したUSER_ID
とUSER_KEY
環境変数にアクセスする例です。
javascript
process.env.USER_ID // "239482"
process.env.USER_KEY // "foobar"
同じように、設定した任意のカスタム環境変数にアクセスできます。Node.js 20 では、実験的な.env ファイルのサポートが導入されました。
これで、--env-file
フラグを使用して、Node.js アプリケーションを実行する際に環境ファイルを指定できるようになりました。.env
ファイルの例と、process.env
を使用してその変数にアクセスする方法を以下に示します。
bash
.envファイル
PORT=3000
あなたの js ファイル
javascript
process.env.PORT // 3000
.env
ファイルに設定された環境変数を設定してapp.js
ファイルを実行します。
js
node --env-file=.env app.js
このコマンドは.env
ファイルからすべての環境変数をロードし、process.env
でアプリケーションが利用できるようにします。また、複数の--env-file
引数を渡すことができます。後続のファイルは、前のファイルで定義されている既存の変数を上書きします。
bash
node --env-file=.env --env-file=.development.env app.js
NOTE
環境とファイルの両方に同じ変数が定義されている場合、環境からの値が優先されます。