在 dotenv 中导出 SOME_ENV_VAR=KEY 和 SOMEOTHER_ENV_VAR=KEY 之间的区别?



我对Node.js比较陌生。我想将环境变量从 .env 文件导出到我的 javascript 文件。为了做到这一点,我正在使用dotenv。

我应该使用哪种方法将环境变量导出到我的主 JavaScript 文件 ( say- app.js(

export GEOCODER_API_KEY= someKeyXYZ // inside .env file
GEOCODER_API_KEY_1 = someKeyXYZ // inside .env file

需要注意的一件事是,在 app.js 中的 console.log(process.env( 上,GEOCODER_API_KEY_1显示为 env 变量,但不显示为 env 变量,但不显示为 GEOCODER_API_KEY?为什么。既然无法访问,那么第一个有什么用呢? 更令人困惑的是:

var options = {
provider: 'google',
httpAdapter: 'https',
apiKey: process.env.GEOCODER_API_KEY,
formatter: null
};  // this works
... // some javascript
console.log(process.env.GEOCODER_API_KEY) //SHOWS UNDEFINED

我基本上想将API_KEY(无限制(安全地导出到我的项目中。有没有我可能错过的渔获?

.env文件中编写可移植变量声明的正确方法是:

FOO=BAR

这是 - 当您使用 dotenv 等dotenv实现时。

require('dotenv').config();
console.log(process.env);

在 Unix/Bash 环境中使用 export in.env时(您可能在野外看到过( - 获取文件将产生有关声明变量范围的差异:

# .env
export GEOCODER_API_KEY=someKeyXYZ
GEOCODER_API_KEY_1=someKeyXYZ
# main.sh
#!/bin/bash
. ./.env
./subprocess.sh
# subprocess.sh
#!/bin/bash
echo "GEOCODER_API_KEY": $GEOCODER_API_KEY
echo "GEOCODER_API_KEY_1": $GEOCODER_API_KEY_1
./main.sh
GEOCODER_API_KEY: someKeyXYZ
GEOCODER_API_KEY_1:

最新更新