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

Mik*_*yne 3 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");
});
Run Code Online (Sandbox Code Playgroud)

有谁知道这是否可能?

小智 6

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

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

最好的问候Robert