问题标签 [node-config]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
115 浏览

node.js - require('config') 在调试中什么都不加载

我的 nodejs 应用程序config = require('config')(3.0.1)在调试中没有返回任何内容。这是控制台输出:

NODE_ENV仅在 development.json 中定义,在 development 中加载没有问题。

这是 ./config 下的文件:

在此处输入图像描述

什么可能导致配置模块无法在调试中加载?

0 投票
1 回答
80 浏览

node-config - 无法在 Window 中使用 node-config 获取环境变量(自我回答)

我无法使用node-config在 Windows 中获取环境变量。

我的 index.js 正在使用 nodemon 运行 CMD。

我打开了一个新的 CMD 并输入set myApp_jwtSecretKey=mySecretHere

这是为什么?

0 投票
0 回答
55 浏览

node.js - 无法为节点模块选择正确的配置设置

我正在使用 config npm 包来管理跨环境的不同环境设置。我开发了一个 node_module,它有自己的配置目录并包含一个dev.json设置文件,并在config.get("dbName"); 我在另一个也有自己的dev.json设置文件的应用程序中使用这个 node_module 时读取它。当我像我开发的那样运行这个父应用程序set NODE_ENV=dev node app.js 时,node_modules它会读取我的父应用程序配置的设置。我的应用程序崩溃了,因为它没有config.get("dbName");

我试过做var config = require("config").load();

0 投票
2 回答
1487 浏览

node.js - 节点配置自定义环境变量在测试期间不覆盖 default.json

当 NODE_ENV 设置为“test”时,Node-config 的 custom-environment-variables.json 似乎不会覆盖 default.json 中的值。这是一个非常简单的配置:

配置/default.json:

配置/自定义环境变量.json:

配置/test.json:

应用程序.js:

这按预期工作:我得到 NODE_ENV=undefined (因此 node-config 将默认为“开发”),并且接下来的两行都打印了在环境变量中设置的正确值。但是,如果我尝试使用 Jest 运行一个简单的测试并打印相同的内容:

测试/some.test.js:

我得到 NODE_ENV=test,Env=在环境变量中设置的正确值...但是 Config=defaultKey。

换句话说:虽然它显示环境变量设置为正确的值,但 node-config 似乎并没有通过 custom-environment-variables.json 将其拉入。

这是一个错误吗?我已经搜索了文档,但找不到导致这种差异的任何原因。

0 投票
1 回答
361 浏览

node-config - 如何使用 node-config 从数组中获取项目属性

我无法从配置文件中的数组中获取项目。

我正在尝试获取SearchInitUrl第一个搜索项目的道具,并且我正在使用

不工作

希望有人能帮忙,先谢谢了。

0 投票
1 回答
1839 浏览

vue.js - 使用 Jest 测试时未定义全局节点配置变量

我正在从node-config docs实施选项 2 。

这运行良好,并且我的全局配置变量是在测试环境之外运行时定义的。

但是,当我使用vue-cliJest 单元测试(例如vue-cli-service test:unit)运行此程序时,我收到此错误:

有什么好的方法可以解决这个问题?是因为 Jest 在node-config完成所有全局变量及其值的切换之前就开始执行 JS 文件吗?

0 投票
1 回答
298 浏览

firebase - 如何在运行时或部署时设置 env var 以选择正确的配置

1. 总结问题

我们正在使用一个配置模块(节点),它允许我们设置各种配置选项,例如数据库设置或其他 api 端点设置与我们的 firebase 托管应用程序。

如果 APP_ENV 变量设置为“dev”,则它指向 dev api 的实例和数据库设置,与“test”和“prod”相同。

在容器中运行时,我们只需要一个设置 APP_ENV 的 shell 脚本,然后运行服务器,并选择正确的配置设置。

我们如何使用 Firebase 托管来做到这一点?

使用:https ://github.com/lorenwest/node-config

2. 提供背景,包括您已经尝试过的内容

翻阅文档,一无所获。

3.显示一些代码

https://github.com/lorenwest/node-config

4. 描述预期和实际结果,包括任何错误消息

预期:部署到 Firebase 并让 Web 应用根据环境(开发、测试、产品)访问正确的资源(api 端点、数据库设置)。

0 投票
0 回答
88 浏览

node.js - Node-config:如何从配置中获取未冻结的数据?

我在我的项目中使用了node-config模块,它非常有用。但是我遇到了我不知道如何处理的用例。这是一个示例:
我有一个包含很多嵌套对象的巨大配置,这是简化的一个:

当我第一次调用config.get()配置对象时,配置对象的所有嵌套属性都是不可变的。哪个好。

config.get()也返回冻结对象。所以你不能这样做:

有没有办法获得解冻的嵌套对象表单配置?所以我可以改变它。

0 投票
3 回答
12044 浏览

node.js - 解析配置打字稿文件时跳过发射

我在使用打字稿时遇到了 node-config 库的问题。
我的配置文件夹如下: 但是在我运行 tsc 并尝试从它的入口点(app.js)启动我的应用程序后,我收到以下错误: 从该文件夹中删除打字稿文件并仅保留 .js 文件时它可以工作. 有人知道我该如何解决这个问题吗? 这就是我的 tsconfig 的外观:
在此处输入图像描述

Error: Cannot parse config file: '..../config/development.ts': TypeError: config/development.ts: Emit skipped





任何帮助将不胜感激,谢谢!

0 投票
1 回答
1163 浏览

node.js - 在节点配置之前使用 dotenv 加载 ENV 变量

我想将环境变量加载到config我的 Express 应用程序中。在本地我使用一个.env文件,但是在部署时,我会将环境变量注入到 docker 容器中。

所以,我有default.json一些硬编码的配置值。然后我得到了custom-environment-variables.json这样的文件:

.env我项目的根目录中的一个文件。

在服务器启动文件中,我有:

我还尝试将它们按正常顺序放置:

我尝试的另一件事是将应用程序声明与服务初始化和应用程序启动分开。像这样app.ts

然后在index.ts

但无济于事。.env文件已加载,我可以看到 in 的 vars ,process.env但它们没有被configin加载custom-environment-variables.json。铁nodeEnv和变量被加载porthostname但是它们在应用程序启动之前被加载到容器中。

这让我想到,configdotenv模块设法从.env加载。从本质上讲,这个问题似乎只存在于 DEV 环境中,因为这是我从.env文件中加载环境变量的唯一地方。对于任何其他环境,它们甚至会在应用程序启动之前出现在容器环境中。

我可以强制重新加载吗config吗?

有什么建议可以实现吗?