我最近一直在使用nodejs,并且仍然要处理模块系统,因此很抱歉这是一个明显的问题。我想要大致如下的代码:
a.js (主文件与节点一起运行)
var ClassB = require("./b"); var ClassA = function() { this.thing = new ClassB(); this.property = 5; } var a = new ClassA(); module.exports = a;
b.js
var a = require("./a"); var ClassB = function() { } ClassB.prototype.doSomethingLater() { util.log(a.property); } module.exports = ClassB;
我的问题似乎是我无法从ClassB实例中访问ClassA实例。
有没有正确/更好的方法来构造模块来实现我想要的?是否有更好的方式在模块之间共享变量?
尽管node.js确实允许循环require依赖,但正如您所发现的那样,它可能很杂乱,您最好重组代码以使其不需要。也许创建一个使用其他两个类来完成您需要的第三类。
require