首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nconf和env的只读配置值

使用nconf和env的只读配置值
EN

Stack Overflow用户
提问于 2013-06-27 23:55:30
回答 1查看 1.3K关注 0票数 4

我正在使用nconf来处理我应用程序中的配置。我设置它的方法如下:

代码语言:javascript
复制
nconf.env({
    separator: '__',
    whitelist: ['foo', 'bar']
})
.file('config.json')

如果这些值是通过环境变量获得的,我似乎无法修改这些值。例如,

代码语言:javascript
复制
console.log(nconf.get()); // {"foo":123,"bar":356}
nconf.set('foo', 789);
console.log(nconf.get()); // {"foo":123,"bar":356}

我检查了nconfstores属性,它似乎表明env变量是只读的?

代码语言:javascript
复制
console.log(nconf.stores);
/**
 * { env:
 *   { type: 'env',
 *     store: { foo: [Object] },
 *     mtimes: { 'foo': 1372348332705 },
 *     readOnly: true, <-- here
 *     loadFrom: null,
 *     whitelist:
 *         ...

有没有办法允许在运行时修改通过env变量设置的变量?如果我设置了使用config.json文件设置的值,我就能够毫无问题地修改这些值。

非常感谢任何帮助:-)

EN

回答 1

Stack Overflow用户

发布于 2017-01-26 19:13:10

下面是我是如何解决这个问题的

代码语言:javascript
复制
nconf.stores.env.readOnly = false;
nconf.set('foo', 789);
nconf.stores.env.readOnly = true;
console.log(nconf.get()); // {"foo":789,"bar":356}

希望这能有所帮助。

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

https://stackoverflow.com/questions/17347810

复制
相关文章

相似问题

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