gpt4 book ai didi

node.js - NodeJS - 配置无法加载自定义环境变量

转载 作者:搜寻专家 更新时间:2023-10-31 23:29:19 25 4
gpt4 key购买 nike

我正在运行 config@1.30.0 并尝试使用 .\config\custom-environment-variables.json 从环境变量中获取设置 不工作。但是,它从 .\config\default.json 中读取就好了。

.\config\custom-environment-variables.json

{
"key": "app_key"
}

.\config\default.json

{
"key": "defaultKey"
}

运行

const config = require('config');
console.log(config.get('key'))

总是打印

defaultKey

但是当我将 config/default 中的 key 属性设置为空字符串时,什么也不打印。我该如何解决这个问题?

我尝试过的

  1. 每当我使用 set app_key=newKey 设置环境变量时打开一个新控制台
  2. 手动设置环境

最佳答案

配置文件名与启动 Node 时使用的 NODE_ENV 环境变量有关。

该模块的目的是为您要部署到测试、暂存和生产环境的每种类型的环境提供一个配置文件。如果未设置任何内容或找不到文件,则默认接管

例如对于您将拥有的测试和暂存环境。

config/default.json

{
"key": "default_key"
}

config/test.json

{
"key": "test_key"
}

config/production.json

{
"key": "prod_key"
}

app.js

var config = require('config')
console.log(config.key)

然后,如果您使用与配置目录中的文件相同名称的不同 NODE_ENV 运行,您将获得不同的 key

node app.js // output default_key
NODE_ENV=test node app.js // output test_key
NODE_ENV=production node app.js // output prod_key

您质疑使用文件 config/custom-environment-variables.json 引用自定义环境变量 此文件将使您能够在运行 Node 时使用环境变量集覆盖其中一个文件中的值.当您无法提交变量(例如数据库 key )但可能希望在同一位置访问所有配置时,这很有用。

例如

{
"key": "SECURE_DATABASE_KEY"
}

然后使用新的配置文件再次运行相同的程序:

NODE_ENV=production node app.js // output prod_key
SECURE_DATABASE_KEY=asldfj40 NODE_ENV=production node app.js // output asldfj40

关于node.js - NodeJS - 配置无法加载自定义环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50618898/

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