Node.js で 環境変数 を 設定 / 取得 する 方法

0 件のコメント

Node.js を実行しようとすると環境変数を指定、利用したいケースがあると思います。 今回は Node.js で環境変数を利用する方法 についてまとめてみました。

環境変数 を 設定する

構文

[ENV_VAR1=ENV_VAL1 [ENV_VAR2=ENV_VAL2 ...]] node FILE_NAME

解説

node コマンド実行前に設定したい環境変数をスペース区切りで指定することで設定できます。 あらかじめ実行環境の環境変数として定義してあるものも利用できるので、node を実行前に set で定義することもできます(サンプルには記載)。

サンプル

USER_ID=123456 USER_KEY=J4rhsP7n node app.js
set USER_ID=123456
set USER_KEY=J4rhsP7n
node app.js

環境変数 を 取得する

構文

process.env.ENV_VAR1

解説

基本的には process.env オブジェクトのプロパティとしてアクセスすることで利用できます。

サンプル

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' のようにデバッグ出力したいモジュール名をカンマ区切りで指定します。

参考記事