TypeError: <class> is not a constructor, but different class works fine
TypeError: <class> is not a constructor, but different class works fine
我遇到一个错误,我可以实例化一个 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
我遇到一个错误,我可以实例化一个 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