【发布时间】:2018-03-09 23:14:19
【问题描述】:
我有一个更大的对象,用于保存我的主类的所有重要数据。我的项目越来越大,所以我有一些单独的文件/类。他们都需要访问我的 store 对象,这些值会不时改变。
我知道我可以将我的存储导出/导入到每个类,但是更改有点超级全局,如果我多次实例化我的主类并在第一个实例化的主类中更改存储,那么第二个实例化的主类也会看到我的商店的变化。希望我能解释得足够清楚。
这是一个非常简单的示例,只有 2 个类,但我还有更多:
index.js
let ClassA = require('./ClassA')
let ClassB = require('./ClassB')
let store = {
propA: 1,
propB: 2
}
class mainClass {
constructor() {
console.log('main Class')
this.doSomething()
}
doSomething() {
let classA = new ClassA() // get/edit store there
let classB = new ClassB() // get/edit store there
classA.doSomething()
classB.doSomething()
}
}
let instantiatePorject = new mainClass()
ClassA.js
module.exports = class ClassA {
doSomething() {
// get/edit store here
}
}
ClassB.js
module.exports = class ClassB {
doSomething() {
// get/edit store here
}
}
【问题讨论】:
-
module.exports = () => { some: "state"} -
我想这对我没有帮助。
标签: javascript node.js ecmascript-6 ecmascript-5