通过使用模块node-config更改环境变量来更改运行时的配置

时间:2013-05-23 09:25:57

标签: node.js node-modules

我正在尝试使用node-config模块在运行时更改配置的某些参数(基本上是日志记录级别)。 在官方文件中说:

  

环境变量可用于覆盖文件配置。任何以$ CONFIG_开头的环境变量都会设置到CONFIG对象中。

我已经检查过,当服务器启动时这是真的,但一旦启动它似乎不起作用。 (当改变环境变量时,永远不会调用watch函数的处理程序,这与runtime.json文件中的更改或直接更改配置变量不同。)

我目前正在观看整个CONFIG对象:

var CONFIG = require('config');
CONFIG.watch( CONFIG , null , function(object, propertyName, priorValue, newValue){
    console.log("Configuration change detected");
});

有人知道这是否可行?

1 个答案:

答案 0 :(得分:6)

在启动流程期间可以使用环境。 如果进程正在运行,您将无法再更改环境,该过程就在。

唯一的选择是重新启动进程或使用其他机制与之通信。 比如说里面有一个rest或tcp监听器,你可以在里面转移你的变量。

祝你好运    罗伯特