node.js - node-config 多个配置文件

标签 node.js node-config

我正在看这个https://github.com/lorenwest/node-config ,它似乎可以满足我需要的一切。但是我想知道是否可以根据类别指定多个配置文件。

可以这样做吗?

./config
   default-aws.json or aws-default.json
   production-aws.json or aws-production.json
   db-default.json
   db-production.json 

等等..

所以配置文件可以更小吗?我知道我们可以制作一个巨大的配置,其中包含不同部分所需的所有配置。例如

{
   "aws": {
      "kinesis": "my-stream"
       ....
    },
    "db": {
       "host": "my-host"
        ...
    }
}

如果使用 Node 配置或与 Node 配置类似的不同库可以实现这一点,有人有任何想法吗?

感谢和问候 锡

最佳答案

简短的回答是否定的。 Node 配置不支持这一点(作为@Mark的回应)。

使用 node-config 执行此操作的最简单方法是使用 JavaScript 作为配置文件 ( https://github.com/lorenwest/node-config/wiki/Configuration-Files#javascript-module---js )。这样您仍然可以获得使用 Node 配置的大部分好处。然后您可以简单地将其他文件包含在其中( https://github.com/lorenwest/node-config/wiki/Special-features-for-JavaScript-configuration-files#including-other-files )

请注意,使用多个配置文件并覆盖内部文件会有点困难。

稍微复杂一点的实现可以使用 config 中的实用程序类,它实际上允许您使用与 node-config 内部使用的相同模式直接读取特定文件夹 ( https://github.com/lorenwest/node-config/wiki/Using-Config-Utilities#loadfileconfigsdirectory )。 在这种情况下,您可能希望通过在第一次调用 get ( https://github.com/lorenwest/node-config/wiki/Configuring-from-an-External-Source ) 之前将所有文件设置在配置对象上,将它们组合到一个配置中。

关于node.js - node-config 多个配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191228/

相关文章:

javascript - 用 jest 模拟 Node 配置

node.js - npm 错误!网络 getaddrinfo ENOTFOUND

node.js - NodeJS Crypto 无法验证 Web Crypto API 创建的签名

node.js - Sequelize model.build(req.body) 注入(inject)安全吗?

node.js - nvm安装了node和npm,安装本地browserify时出现符号链接(symbolic link)问题

node.js - 解析环境变量的正确方法

node.js - 为什么请求事件被触发两次

javascript - 观察node.js中的配置文件

node.js - 类型错误 : Key must be a buffer when sending an email with aws-sdk in node. js

node.js - Node-config 不会使用 Heroku 中的 custom-environment-variables.json 中的变量