Я использую nconf для обработки конфигурации в своем приложении. Путь я устанавливаю его следующим образом:значения конфигурации только для чтения с использованием nconf и env
nconf.env({
separator: '__',
whitelist: ['foo', 'bar']
})
.file('config.json')
Оказывается, что я не могу изменить значения, если они были получены с помощью переменной окружения. Например,
console.log(nconf.get()); // {"foo":123,"bar":356}
nconf.set('foo', 789);
console.log(nconf.get()); // {"foo":123,"bar":356}
Я проверил атрибут nconf
stores
и, кажется, предполагают, что env
переменные только для чтения?
console.log(nconf.stores);
/**
* { env:
* { type: 'env',
* store: { foo: [Object] },
* mtimes: { 'foo': 1372348332705 },
* readOnly: true, <-- here
* loadFrom: null,
* whitelist:
* ...
Есть ли способ, чтобы переменные, заданные с помощью env
переменных, которые будут изменены во время выполнения? Если я установил значения, которые были установлены с использованием файла config.json
, я могу без каких-либо проблем изменять значения.
Любая помощь очень ценится :-)