Express JS サーバーで環境変数が設定されているかどうかを確認し、設定されているかどうかに応じて異なる操作を実行します。
私はこれを試しました:
if(process.env.MYKEY !== 'undefined'){
console.log('It is set!');
} else {
console.log('No set!');
}
process.env.MYKEY
なしでテストしていますが、コンソールに「It is set」と表示されます。
これは私のNode.jsプロジェクトでうまく機能しています:
if(process.env.MYKEY) {
console.log('It is set!');
}
else {
console.log('No set!');
}
環境変数にキーが存在するかどうかを確認してみませんか?
if ('MYKEY' in Object.keys(process.env))
console.log("It is set!");
else
console.log("Not set!");
thisスニペットを使用して、環境変数が設定されているかどうかを確認します
if ('DEBUG' in process.env) {
console.log("Env var is set:", process.env.DEBUG)
} else {
console.log("Env var IS NOT SET")
}
NodeJS 8 docs で述べたように:
process.env
プロパティは、ユーザー環境を含むオブジェクトを返します。 environ(7) を参照してください。[...]
process.env
にプロパティを割り当てると、値が暗黙的に文字列に変換されます。process.env.test = null console.log(process.env.test); // => 'null' process.env.test = undefined; console.log(process.env.test); // => 'undefined'
ただし、変数が環境に設定されていない場合、適切なキーはprocess.env
オブジェクトに存在せず、対応するprocess.env
のプロパティはundefined
です。
次に、もう1つの例を示します(例で使用されている引用符に注意してください)。
console.log(process.env.asdf, typeof process.env.asdf)
// => undefined 'undefined'
console.log('asdf' in process.env)
// => false
// after touching (getting the value) the undefined var
// is still not present:
console.log(process.env.asdf)
// => undefined
// let's set the value of the env-variable
process.env.asdf = undefined
console.log(process.env.asdf)
// => 'undefined'
process.env.asdf = 123
console.log(process.env.asdf)
// => '123'
元の質問に言及する価値があります:
Node.jsで環境変数が設定されているかどうかを確認するにはどうすればよいですか?
既に回答が含まれています。マークアップを確実に追加するには:
How can I [check if] an [env var] [is set] in [Node.js]?
次に、これを文字通りJavaScriptに変換します。
if ('env_var' in process.env)
どこ:
[check if]
=if[env var]
= 'env_var'[is set]
=in[Node.js environment]
=process.envシンプルで明確。
これについて maxkoryukov が何を言っているのかがわかりますが、できると思います:
var env_var_name = "SOME_CONFIG";
if (typeof(process.env[env_var_name]) == "undefined") {
console.log("Env var not set");
} else {
console.log("Env var set");
}
展開手順にある場合に備えて、文字列でenv var名を確認できるようにしたいと思います。
Ifステートメントで値を割り当てる場合、次のようにできます。
var thisIsSet = 'asddas';
var newVariable = thisIsSet ||'otherValue'
console.log(newVariable)
アスダスの結果
環境変数を確認するのに良い方法です
if (process.env.YOUR_ VARIABLE) {
// If your variable is exist
}
それ以外の場合、複数の環境変数を確認したい場合は、このnode module
でる。