web-dev-qa-db-ja.com

Node.jsの環境変数を読む

Node.jsコードで環境変数を読み取る方法はありますか?

例えばPythonのos.environ['HOME']のように。

1161
Jayesh
process.env.ENV_VARIABLE

ENV_VARIABLEはアクセスしたい変数の名前です。

Node.js docs for process.env を参照してください。

1739
Jayesh

Node.js を使用する場合、process.envオブジェクトからキーで環境変数を取得できます。

例えば

var mode   = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'

node.jsで環境変数を設定する

120
Subodh Ghulaxe

Node.jsプログラムで生成された文字列キー、たとえばvar v = 'HOME'を使用したい場合は、process.env[v]を使用できます。

そうでなければ、process.env.VARNAMEはあなたのプログラムでハードコードされなければなりません。

50
user2574650

Node.JSで環境変数を取得するには process.env.VARIABLE_NAME を使用できますが、process.envでプロパティを割り当てると暗黙的に値が文字列に変換されることを忘れないでください。

ブール論理を避ける

.envファイルに SHOULD_SEND = false または SHOULD_SEND = 0 のような変数が定義されていても、値は から文字列 “ false”および“ 0” にそれぞれ変換されます。 )およびブール値として解釈されません。

if (process.env.SHOULD_SEND) {
 mailer.send();
} else {
  console.log("this won't be reached with values like false and 0");
}

代わりに、明示的なチェックをするべきです。環境名によっては長い道のりがあることがわかりました。

 db.connect({
  debug: process.env.NODE_ENV === 'development'
 });
18

プロジェクトごとに env packageを使用して環境変数を管理できます。

  • プロジェクトディレクトリの下に.envファイルを作成し、そこにすべての変数を置きます。
  • アプリケーションエントリファイルの先頭にこの行を追加します。
    require('dotenv').config();

完了しました。これでprocess.env.ENV_NAMEであなたの環境変数にアクセスできます。

11
Huy Vo

変数を含むファイルを本番環境にプッシュする必要がないので、.bash_profileのUsersディレクトリでそれらを使用しないでください。

0
Brad Vanderbush