如何在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中改变了obja , main.js中的obja没有改变。
我的问题是如何同时更改两个obja 。
谢谢。
你有两个不同的a.js
文件 – 一个在lib/libA
,另一个在lib/libB/lib/libA
。 这是两个不同的模块,每个模块都有自己的exports
对象。 如果您想引用相同a
模块,则需要将您的b.js
文件更改为:
var obja = require('../libA/a');
这样, main.js
和b.js
都会引用相同的模块( lib/libA/a.js
)。
在你的例子中,如果你摆脱objavariables,只是引用libA.a你可以在这两个地方改变它 – 假设你在同一个进程/集群