2017-04-20 15 views
0

ファイルがあります。 a.jsNodeJsでカスケードが必要です。別のファイルが必要なファイルが必要です。NodeJs

class A{ 
    constructor(name){ 
     this.name = name; 
    } 

    displayName(){ 
    console.log(this.name); 
    } 
} 
module.exports = A; 

別のファイル common.js

const A = require('./a'); 
exports.A; 

別のファイルb.js

const common = require('./common'); 
var a = new common.A('My name is khan and I am not a terrorist'); 
a.displayName(); 

私はAはエラーを取得していますコンストラクションではないctor。 どうすればいいですか。 私の愚かな間違いを許してください、私は初心者です。ここで

+1

あなたはしなければなりません:module.exports = A – WilomGfx

+0

そして '' common.js''で一貫しています** module.exports = A ** – lomboboo

+0

申し訳ありません、そのmodule.exports = Aのみ。私は問題を編集してみましょう。 – Imran

答えて

3

は、あなたが作るべき修正があなたのcommon.js

class A { 
    constructor(name) { 
     this.name = name; 
    } 
    displayName() { 
     console.log(this.name); 
    } 
} 
module.exports = A; 

...あなたはRenderを輸出している、しかし、それは代わりにAする必要があり、... a.jsファイルで

ですファイルの場合は、commonクラス/関数/変数などからなるobjectをエクスポートする必要があります。

const A = require('./a'); 
const someOtherVariable = 'Hello World!'; 
module.exports = { 
    A: A, 
    someOtherVariable: someOtherVariable, 
}; 

コメント:ファイルの名前はcommonであると仮定すると... common.A、あなただけのものよりもおそらくexportより以下となります。あなたは次の構文でAクラスを使用したいされているため、「しなければならない」理由class、そう...

最後に、b.jsファイルで、あなたは、あなたが使用することを求めているクラスを抽出するためにcommon.A構文を使用することができます... objectにパッケージ

const common = require('./common'); 
const a = new common.A('My name is khan'); 
a.displayName(); 
console.log(common.someOtherVariable); // Hello World! 

これが役に立ちます。

関連する問題