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