Javascript 更新在整个项目中导出的对象

Javascript 更新在整个项目中导出的对象,javascript,node.js,Javascript,Node.js,我有以下与其他文件共享的对象 /UTIL/令牌 module.exports=(函数(){ 常量缓存={ 访问令牌:“jhkjfdhgkjhfkjmvbnmvcmgkjcvbnbfjhxvnm”, 到期日:2592000, 令牌类型:“持票人” }; 返回{ 获取(键){ 返回缓存[键]; }, 设置(键,val){ cache[key]=val; } }; }());使用函数生成axios配置。您已经通过调用cache.get('access_token')创建了一次配置,使用相同的对象将不

我有以下与其他文件共享的对象

/UTIL/令牌

module.exports=(函数(){
常量缓存={
访问令牌:“jhkjfdhgkjhfkjmvbnmvcmgkjcvbnbfjhxvnm”,
到期日:2592000,
令牌类型:“持票人”
};
返回{
获取(键){
返回缓存[键];
},
设置(键,val){
cache[key]=val;
}
};

}());使用函数生成axios配置。您已经通过调用
cache.get('access_token')
创建了一次配置,使用相同的对象将不会再次调用
cache.get
。使用这样的函数

function makeAxiosConfig(headers) {
  return {
    headers: Object.assign({}, headers, {
      Authorization: `Bearer ${cache.get('access_token')}`
    }),
    method: 'GET',
    url: 'http://getUser/12345',
    timeout: config.app.enterpriseHTTPTimeout
   }
}

// then inside you express middleware use it as follows
axios(makeAxiosConfig(res._headers)).then(() => {
  // do something
}).catch(ex => {
  // update token
  return axios(makeAxiosConfig(res._header);
});

值是否已更新并保存在内存中?如果使用SET Method,则文件中的值不会得到更新。是的,该值会加载到内存中。如果要更改文件中的值,必须显式写入文件。