2016-04-19 19 views
0

Ich versuche, eine Modellklasse in Node.js zu machen und habe einige Probleme.Definieren einer Klasse in Node.js


Code:

MosaicStreamer.js

Dies ist, wie ich versuche, um die Klasse zu definieren.

function MosaicStreamer() { 

} 

module.exports = MosaicStreamer; 

App.js

app.get('/map', function(req, res){ 
    'use strict'; 
    var models = require('./models/MosaicStreamer.js'); 
    var mosaic_streamer = new MosaicStreamer; 
    res.render('view', {type: "block", name: "Sara", latitude: "", longitude: "", zoom: ""}); 
}); 

Hier versuche ich eine Instanz der MosaicStreamer Klasse zu erstellen.


Fehler:

Ich erhalte:

ReferenceError: MosaicStreamer is not defined

Der Stack-Trace zeigt auf var mosaic_streamer = new MosaicStreamer; in app.js.

Was mache ich falsch?

+0

Sie zuweisen 'MosaicStreamer' zu' zuweisen models', was bedeutet, dass das Objekt (nicht die Klasse) von dieser Variablen gehalten wird. Sie müssen stattdessen das Schlüsselwort 'new' aufrufen. –

Antwort

2

Jede Funktion und Variable muss in jeder Datei separat definiert werden.

Ersetzen Sie einfach

var models = require('./models/MosaicStreamer.js'); 

mit

var MosaicStreamer = require('./models/MosaicStreamer.js'); 

die exportierte benannte Funktion MosaicStreamer (Klasse), um Ihre lokale Variable MosaicStreamer statt models

Verwandte Themen