2017-06-16 13 views
1

クラスをインスタンス化することはできますが、他のクラスはインスタンス化できないエラーが発生します。私はnodejsを初めて使い、何が間違っているのか分からない。以下に示すすべてのファイルは、ディレクトリ内の兄弟です。TypeError:<class>はコンストラクタではありませんが、別のクラスは正常に動作します

/********** 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(); 
    } 
} 
+0

すべてのコードをコメントアウトするのではなく、問題の可能性があります。 – Li357

+0

@AndrewLi私はそれを編集しました。それは文字通りすべてのコードです –

+2

あなたは循環参照が正しいと思いますか?それがあなたのものなら、デザインに何か問題があります。 – Li357

答えて

1

私はclassTwoからexampleClassを呼び出してからclassTwoというexampleClassを呼び出していたので、循環参照そのエラーをもたらしたものです。 @AndrewLiありがとうございました

関連する問題