Express で環境変数を利用するには?
dotenv というライブラリを使って「 .env 」ファイルを読み込むことができます。
Node.js v20.6.0 からは、アプリの起動時にフラグを設定すればライブラリを使わずに「 .env 」ファイルを読み込むことができます。
dotenv というライブラリを使って「 .env 」ファイルを読み込むことができます。
Node.js v20.6.0 からは、アプリの起動時にフラグを設定すればライブラリを使わずに「 .env 」ファイルを読み込むことができます。
npm install dotenv
アプリのルートディレクトリに「 .env 」ファイルを作成し、以下のように変更します。
HELLO = "hello, world"
環境変数を利用したいファイルでファイルを読み込み利用します。
require('dotenv').config();
console.log(process.env.HELLO);
アプリを起動する場合に、「 --env-file=.env 」のフラグを利用すればライブラリを使わずに利用できます。
node --env-file=.env main.js
express-generator で作成した場合、「 package.json 」に以下のように記述することで、「 npm start 」のコマンドでフラグを実行できます。
~ 中略 ~
"scripts": {
"start": "node --env-file=.env ./bin/www"
},
~ 中略 ~
「 package.json 」を以下のように編集します。
Windowsのコマンドプロンプトで「 npm start 」とすると production モードで起動することができます。
「 npm test 」で development モードで起動することができます。
~ 中略 ~
"scripts": {
"test": "node ./bin/www",
"start": "set NODE_ENV=production&&node ./bin/www"
},
~ 中略 ~
コマンドプロンプトで設定するには、いかのようにします。PowrShell で設定できません。
set NODE_ENV=production
起動しているモードを確認するには、以下のようにします。
console.log(app.get('env'))