我有几个从一个config.js文件中读取多个变量的js,这个变量又读取了本地环境变量。如何在Node.js中的内容更改时重新加载配置模块?
我想能够允许用户(通过HTTP POST)更新这些值。我如何使这些更改生效。更改config.js值或环境值不会生效,因为利用配置文件的文件已经加载了变量。
我有几个从一个config.js文件中读取多个变量的js,这个变量又读取了本地环境变量。如何在Node.js中的内容更改时重新加载配置模块?
我想能够允许用户(通过HTTP POST)更新这些值。我如何使这些更改生效。更改config.js值或环境值不会生效,因为利用配置文件的文件已经加载了变量。
您可以使用getters
和setters
声明变量,以便您可以在变量后面有一个函数实现。
下面是一个例子:
'use strict';
let value = null;
module.exports = Object.create(Object.prototype, {
value: {
get:() => {
return value;
},
set: (val) => {
value = val;
}
}
});
你可以把它们放在一个模块中,说app-config.js
,暴露的get/set这样你就可以从你的API方法进行设置。如果它们只是某个模块内部的内部变量,那么就没有办法改变它们。
如果你使用ES5或ES6,如果你需要的是如何做到这一点,请指定一个例子,我可以添加一个你没有说。
这里有一些链接,可以帮助您
http://www.benmvp.com/learning-es6-enhanced-object-literals/(方法定义速记节)