gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:10:08 25 4
gpt4 key购买 nike

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

我应该使用哪种方法将环境变量导出到我的主 javascript 文件(例如 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 变量,而不是 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 环境中使用 .env 中的导出时(您可能在野外见过) - 获取该文件将产生 differences关于声明变量的范围:

# .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:

关于javascript - dotenv 中导出 SOME_ENV_VAR=KEY 和 SOMEOTHER_ENV_VAR=KEY 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52232564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com