2017-04-20 7 views
0

Ich habe eine Datei. a.jsCascade erfordern in NodeJs, erfordern eine Datei, die eine andere Datei benötigt NodeJs

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

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

andere Datei common.js

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

andere Datei b.js

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

Ich erhalte einen Fehler A kein Konstrukt ctor. Bitte helfen Sie, wie es geht. Bitte vergib mir meine dummen Fehler, ich bin Neuling.

+1

gut in a.js sollten Sie tun: module.exports = A – WilomGfx

+0

und konsistent sein in '' common.js' '** module.exports = A ** – lomboboo

+0

Es tut mir leid, seine module.exports = Nur ein. Lass mich in Frage stellen. – Imran

Antwort

3

hier die Updates, die Sie ...

In der a.js Datei machen sollten, sind Sie Render exportieren, jedoch sollte es A statt ... sein

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

In Ihrem common.js Datei, müssen Sie eine object exportieren, die aus den common Klassen/Funktionen/Variablen, oder was auch immer, wie folgt bestehen:

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

Kommentar: der Grund, warum Sie „haben“ ist, weil Sie die A Klasse mit der folgenden Syntax verwenden möchten: common.A ... der Name der Datei, die Sie common, wird export wahrscheinlich mehr, als dass man nur unter der Annahme class, verpacken, so sie in eine object ...

schließlich in der b.js-Datei können Sie dann die common.A Syntax verwenden, um die Klasse zu extrahieren, die Sie verwenden, suchen nach ...

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

Hoffe, das hilft.