TypeError:<class>不是构造函数,但是不同的类工作正常

时间:2017-06-16 16:27:27

标签: javascript node.js es6-class

我得到一个错误,我可以实例化一个类而不是另一个类,但据我所知,两者之间没有区别。我是nodejs的新手,不知道我做错了什么。下面显示的所有文件都是目录中的兄弟。

/ ********** exampleClass.js ******** /

const classOne = require("./classOne");
const classTwo = require("./classTwo")


module.exports = class exampleClass {

    method() {

        // works fine
        const classOneInstance = new classOne();

        const classTwoInstance = new classTwo(); // gives error 'TypeError: classTwo is not a constructor' UNLESS I require classTwo in the method. Doesn't matter if this goes before or after classOneInstance

    }
}

/ ********** classOne.js ***************** /

module.exports = class classOne {

}

/ ************ classTwo.js **************** /

const classOne = require("./classOne");
const exampleClass = require("./exampleClass");


module.exports = class classTwo {

    method() {

        const exampleClassInstance = new exampleClass();
        exampleClassInstance.method();
    }
}

1 个答案:

答案 0 :(得分:3)

因为我从classTwo调用exampleClass,然后是classClass调用classTwo,所以它是一个循环引用,它给出了这个错误。感谢@AndrewLi