2017-03-04 95 views
0

我有几个从一个config.js文件中读取多个变量的js,这个变量又读取了本地环境变量。如何在Node.js中的内容更改时重新加载配置模块?

我想能够允许用户(通过HTTP POST)更新这些值。我如何使这些更改生效。更改config.js值或环境值不会生效,因为利用配置文件的文件已经加载了变量。

回答

0

您可以使用getterssetters声明变量,以便您可以在变量后面有一个函数实现。

下面是一个例子:

'use strict'; 

let value = null; 

module.exports = Object.create(Object.prototype, { 
    value: { 
     get:() => { 
      return value; 
     }, 
     set: (val) => { 
      value = val; 
     } 
    } 
}); 
0

你可以把它们放在一个模块中,说app-config.js,暴露的get/set这样你就可以从你的API方法进行设置。如果它们只是某个模块内部的内部变量,那么就没有办法改变它们。

如果你使用ES5或ES6,如果你需要的是如何做到这一点,请指定一个例子,我可以添加一个你没有说。

这里有一些链接,可以帮助您

http://www.benmvp.com/learning-es6-enhanced-object-literals/(方法定义速记节)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

相关问题