我最近一直在使用 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