如何在NodeJS中同时更改对象(在同一个库中但path不同)

我的项目文件夹是这样的:

  • main.js
  • –lib
  • ——力霸
  • ———- a.js
  • —— libB
  • ———- b.js
  • ———- LIB
  • ————–力霸
  • —————— a.js

main.js中

var obja = require('./lib/libA/a'); require('./lib/libB/b'); 

b.js中

 var obja = require('./lib/libA/a'); 

a.js中

 module.exports = {}; 

然后,如果我在b.js中改变了objamain.js中的obja没有改变。

我的问题是如何同时更改两个obja

谢谢。

你有两个不同的a.js文件 – 一个在lib/libA ,另一个在lib/libB/lib/libA 。 这是两个不同的模块,每个模块都有自己的exports对象。 如果您想引用相同a模块,则需要将您的b.js文件更改为:

 var obja = require('../libA/a'); 

这样, main.jsb.js都会引用相同的模块( lib/libA/a.js )。

在你的例子中,如果你摆脱objavariables,只是引用libA.a你可以在这两个地方改变它 – 假设你在同一个进程/集群