process.env - Express

Express で環境変数を利用するには?

dotenv というライブラリを使って「 .env 」ファイルを読み込むことができます。

Node.js v20.6.0 からは、アプリの起動時にフラグを設定すればライブラリを使わずに「 .env 」ファイルを読み込むことができます。

dotenv

インストール

npm install dotenv

アプリのルートディレクトリに「 .env 」ファイルを作成し、以下のように変更します。

.env

HELLO = "hello, world"

環境変数を利用したいファイルでファイルを読み込み利用します。

main.js

require('dotenv').config();
console.log(process.env.HELLO);

v20.6.0以降 の場合

アプリを起動する場合に、「 --env-file=.env 」のフラグを利用すればライブラリを使わずに利用できます。

node --env-file=.env main.js

express-generator で作成した場合、「 package.json 」に以下のように記述することで、「 npm start 」のコマンドでフラグを実行できます。

package.json

~ 中略 ~
"scripts": {
  "start": "node --env-file=.env ./bin/www"
},
~ 中略 ~

package.json

「 package.json 」を以下のように編集します。

Windowsのコマンドプロンプトで「 npm start 」とすると production モードで起動することができます。

「 npm test 」で development モードで起動することができます。

~ 中略 ~
"scripts": {
  "test": "node ./bin/www",
  "start": "set NODE_ENV=production&&node ./bin/www"
},
~ 中略 ~

Windowsで環境変数を設定するには?

コマンドプロンプトで設定するには、いかのようにします。PowrShell で設定できません。

コマンドプロンプト

set NODE_ENV=production

Expressアプリ上でモードを確認するには?

起動しているモードを確認するには、以下のようにします。

console.log(app.get('env'))