【发布时间】:2017-07-24 07:48:26
【问题描述】:
我有几个 js 从 config.js 文件中读取了几个变量,而这些变量已经读取了本地环境变量。
我希望能够允许用户更新这些值(通过 HTTP POST)。如何使这些更改生效。更改 config.js 值或环境值不会生效,因为利用配置文件的文件已经加载了变量。
【问题讨论】:
标签: javascript node.js configuration config
我有几个 js 从 config.js 文件中读取了几个变量,而这些变量已经读取了本地环境变量。
我希望能够允许用户更新这些值(通过 HTTP POST)。如何使这些更改生效。更改 config.js 值或环境值不会生效,因为利用配置文件的文件已经加载了变量。
【问题讨论】:
标签: javascript node.js configuration config
您可以使用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/(方法定义简写部分)
【讨论】: