Node.js を実行しようとすると環境変数を指定、利用したいケースがあると思います。 今回は Node.js で環境変数を利用する方法 についてまとめてみました。
環境変数 を 設定する
構文
1 | [ENV_VAR1=ENV_VAL1 [ENV_VAR2=ENV_VAL2 ...]] node FILE_NAME |
解説
node
コマンド実行前に設定したい環境変数をスペース区切りで指定することで設定できます。
あらかじめ実行環境の環境変数として定義してあるものも利用できるので、node
を実行前に set
で定義することもできます(サンプルには記載)。
サンプル
1 | USER_ID=123456 USER_KEY=J4rhsP7n node app.js |
1 2 3 | set USER_ID=123456 set USER_KEY=J4rhsP7n node app.js |
環境変数 を 取得する
構文
1 | process.env.ENV_VAR1 |
解説
基本的には process.env
オブジェクトのプロパティとしてアクセスすることで利用できます。
サンプル
1 | console.log(JSON.stringify(process.env)); |
定義済み 環境変数
実行環境依存の環境変数
実行環境で既に定義済みの環境変数はもちろん使えます。 Windows で定義済みの環境変数は以下の記事にまとめているので参照してください。
Node.js 定義済みの環境変数
Node.js として実行時にすぐ使える独自定義済みのものをここでは取り上げます。
変数名 | 説明 |
---|---|
NODE_PATH | ';'で分割されたディレクトリパスリストを指定して、モジュール検索先を指定します。 |
NODE_DISABLE_COLORS | '1'を設定すると REPL での色利用を無効化します。 |
NODE_ICU_DATA | ICU (Intel オブジェクト) データ へのパスを指定します。 |
NODE_REPL_HISTORY | 永続させる REPL履歴ファイル のパスを指定します。 |
Node.js で慣例的に使われる環境変数
モジュールによってはデフォルトで定義済みとなる、 Node.js で慣例的に使われる環境変数をここでは取り上げます。
変数名 | 説明 |
---|---|
NODE_ENV | 'production' または 'development' を指定することで、該当フェーズに応じた動作に変わります。 |
NODE_DEBUG | 'http' や 'http,net' のようにデバッグ出力したいモジュール名をカンマ区切りで指定します。 |
参考記事
- stackoverflow - Read environment variables in Node.js
- stackoverflow - Node.js: Setting Environment Variables
- Block Rockin’ Codes - Node.js の起動オプション、環境変数、npm start の話
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!