npm-config 环境变量
npm-config Environment Variables
我看到存储一些秘密字符串的最佳方法是使用配置包和环境变量。我就是这样设置的。
- 创建了一个包含 2 个文件的配置文件夹(
default.json
、custom-environment-variables.json
)
- 在
default.json
我创建了这个:
{
"passPrivateKey": ""
}
- 在
custom-environment-variables.json
我创建了这个:
{
"passPrivateKey": "nodeProject_passPrivateKey"
}
- 在我用这个命令在终端中设置变量之后:
npm config set nodeProject_passPrivateKey=randomKey
当我使用下面的命令从终端读取变量时,它工作正常并显示正确的值
npm config get nodeProject_passPrivateKey
但是在代码中我有这些行:
if (!config.get("nodeProject_passPrivateKey")) {
console.error("nodeProject_passPrivateKey has not been set");
}
所以是的,问题是这个方法 config.get()
没有读取值,我收到上面未设置的错误。我尝试以管理员身份在 vs 代码中执行所有操作,并在 "nodeProject_passPrivateKey"
和 "passPrivateKey"
上使用 config.get
,但该方法仍未读取任何值。
为什么不使用 dotenv?
您创建了一个 .env 文件,您可以在其中存储所有机密并通过
访问它们
process.env.myvar
我看到存储一些秘密字符串的最佳方法是使用配置包和环境变量。我就是这样设置的。
- 创建了一个包含 2 个文件的配置文件夹(
default.json
、custom-environment-variables.json
) - 在
default.json
我创建了这个:{ "passPrivateKey": "" }
- 在
custom-environment-variables.json
我创建了这个:{ "passPrivateKey": "nodeProject_passPrivateKey" }
- 在我用这个命令在终端中设置变量之后:
npm config set nodeProject_passPrivateKey=randomKey
当我使用下面的命令从终端读取变量时,它工作正常并显示正确的值
npm config get nodeProject_passPrivateKey
但是在代码中我有这些行:
if (!config.get("nodeProject_passPrivateKey")) {
console.error("nodeProject_passPrivateKey has not been set");
}
所以是的,问题是这个方法 config.get()
没有读取值,我收到上面未设置的错误。我尝试以管理员身份在 vs 代码中执行所有操作,并在 "nodeProject_passPrivateKey"
和 "passPrivateKey"
上使用 config.get
,但该方法仍未读取任何值。
为什么不使用 dotenv?
您创建了一个 .env 文件,您可以在其中存储所有机密并通过
访问它们 process.env.myvar