Skip to content

Node.js から環境変数を読み取る方法

Node.js のプロセスコアモジュールは、プロセスが開始された時点で設定されていたすべての環境変数を保持するenvプロパティを提供します。

以下のコードはapp.jsを実行し、USER_IDUSER_KEYを設定します。

bash
USER_ID=239482 USER_KEY=foobar node app.js

これにより、ユーザーのUSER_IDは 239482、USER_KEYは foobar として渡されます。これはテストには適していますが、本番環境では、おそらくいくつかの bash スクリプトを構成して変数をエクスポートすることになります。

NOTE

process"require"を必要としません。自動的に利用可能です。

以下は、上記のコードで設定したUSER_IDUSER_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

環境とファイルの両方に同じ変数が定義されている場合、環境からの値が優先されます。