TypeError:<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(); } }
因为我从classTwo调用了exampleClass,然后exampleClass调用了classTwo,它是一个循环引用,它给出了这个错误。 感谢@AndrewLi