Node.jsコードで環境変数を読み取る方法はありますか?
例えばPythonのos.environ['HOME']
のように。
Node.js を使用する場合、process.env
オブジェクトからキーで環境変数を取得できます。
例えば
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Node.jsプログラムで生成された文字列キー、たとえばvar v = 'HOME'
を使用したい場合は、process.env[v]
を使用できます。
そうでなければ、process.env.VARNAME
はあなたのプログラムでハードコードされなければなりません。
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'
});
プロジェクトごとに env packageを使用して環境変数を管理できます。
.env
ファイルを作成し、そこにすべての変数を置きます。require('dotenv').config();
完了しました。これでprocess.env.ENV_NAME
であなたの環境変数にアクセスできます。
変数を含むファイルを本番環境にプッシュする必要がないので、.bash_profileのUsersディレクトリでそれらを使用しないでください。