小编典典

如何处理 Node.js 中的循环依赖

all

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

是否有正确/更好的方法来构建模块以实现我想要的?有没有更好的方法在模块之间共享变量?


阅读 96

收藏
2022-07-01

共1个答案

小编典典

虽然 node.js
确实允许循环require依赖,但您发现它可能非常混乱,您最好将代码重组为不需要它。也许创建一个使用其他两个来完成您需要的第三个类。

2022-07-01