首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在命令行上将分层配置值传递给nconf?

如何在命令行上将分层配置值传递给nconf?
EN

Stack Overflow用户
提问于 2014-07-29 14:11:04
回答 1查看 1.7K关注 0票数 7

冒号单独的nconf层次结构,例如,

代码语言:javascript
复制
{
  "AUTH": {
    "ENABLED": true
  }
}

可通过以下方式访问:

代码语言:javascript
复制
nconf.get("AUTH:ENABLED");

我想通过npm start下的环境和/或命令行选项来覆盖它,例如,

代码语言:javascript
复制
AUTH:ENABLED=false npm start

这在bash和zsh下都失败了,因为冒号。用\转义冒号没有帮助。

在任何情况下(等级或非等级),下列规定也失败:

代码语言:javascript
复制
npm start --AUTH:ENABLED=false

如何以一种有效的方式将分层配置值传递给nconf/乐观主义者?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-29 14:31:25

最简单的方法是将nconf配置为使用不太糟糕的分隔符,如docs所示:

代码语言:javascript
复制
//
// Or use both options
//
nconf.env({
  separator: '__',
  whitelist: ['database__host', 'only', 'load', 'these', 'values']
});
var dbHost = nconf.get('database:host');

我的另一个建议是考虑一个不那么奇怪的配置模块。国家预防机制有几十个。通过nconf github问题,我看到了足够多的警告信号,表明这个模块只是做了太多的选择。配置应该是直接的。如果不是,那就走开。我的猜测是,如果您正在构建像nodejitsu这样的PaaS,那么这可能是合适的,但是大多数应用程序不需要一个无限深的配置层次结构,有十几个不同的位置来检查数据。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25017495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档