4

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

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

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

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

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

有谁知道这是否可能?

4

1 回答 1

8

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

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

最好的问候罗伯特

于 2013-05-23T10:07:18.857 回答