2017-11-23 5 views
0

Client.js definiert ist"x ist kein Konstruktor", obwohl es

const CSGO = require('./csgo') 

module.exports = class Client { 
    constructor() { 

    } 

    csgo(data) { 
     return new Promise((resolve, reject) => { 
      resolve(new CSGO(data)) 
      .catch(err => reject(err)) 
     }) 
    } 

}; 

csgo.js

module.export = class CSGO { 
    constructor(content) { 
     // super(); 
     this.content = content; 
    } 

    parseData() { 
     console.log(content + ' it works') 
    } 
} 

test.js

var client = require('./src/client.js') 

const game = new client(); 

game.csgo('hello') 

Ich versuche es zu bestehen nts von test.js => client.js => csgo.js, aber wenn ich versuche, game.csgo(contents') dann vom new CSGO mit den Daten zu rufen, bekomme ich eine TypeError sagend, dass CSGO kein Konstruktor ist. Was soll ich machen?

+0

"Client" oder "Client"? Denken Sie daran, dass JavaScript * Groß- und Kleinschreibung unterscheidet *. Wenn es ein Tippfehler ist, den Code in die Frage umzuwandeln, dann lernen Sie, wie Sie ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) erstellen, das Sie kopieren und einfügen können. ist stattdessen. Das Umschreiben eines solchen Codes kann zu Fehlern führen, die nicht miteinander in Zusammenhang stehen. Oder vielleicht sogar manchmal * das * Problem durch einen Fehler beheben, was die Frage irrelevant macht. –

+0

Es ist 'module.exports' nicht' module.export'. – Bergi

+2

Ihre 'csgo' Methode funktioniert sowieso nicht. 'resolve' gibt nichts zurück, das Aufrufen von' .catch' ist ein Fehler. Wenn Sie ein neues Versprechen mit einem Wert sofort lösen möchten, verwenden Sie 'Promise.resolve'. Oder warum nimmst du hier überhaupt ein Versprechen? – Bergi

Antwort

0

Ich glaube, es ist nur ein Tippfehler. Sie haben module.export wenn Sie meinen module.exports in csgo.js