Schließen Sie die externe .js-Datei in die node.js-App ein
Habe ich eine app.js Knoten-Applikation. Da diese Datei beginnt zu wachsen, ich möchte ein Teil des Codes in anderen Dateien würde ich mit "require" oder "include" in die app.js Datei.
Ich versuche Dinge wie:
//Declare application
var app = require('express').createServer();
//Declare usefull stuff for DB purposes
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;
//THE FOLLOWING REQUIRE DOES NOT WORK
require('./models/car.js');
in car.js:
//Define Car model
CarSchema = new Schema({
brand : String,
type : String
});
mongoose.model('Car', CarSchema);
Bekam ich die Fehlermeldung:
ReferenceError: Schema is not defined
Ich bin gerade auf der Suche, um die Inhalte von car.js geladen (anstatt alles in die gleiche app.js Datei) gibt es eine particuliar Weg, dies zu tun in node.js ?
InformationsquelleAutor der Frage Luc | 2011-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um eine Betonung auf das, was alle anderen so sagen
var foo
in oberster Ebene nicht erstellen Sie eine Globale variable. Wenn Sie möchten, eine Globale variable, dann schreibenglobal.foo
. aber wir alle wissen globals böse sind.Wenn Sie jemand sind, verwendet globals wie diese in einem node.js Projekt ich war, würde ich umgestalten Sie Weg, da es nur so wenige Anwendungsfälle für diese (Es gibt ein paar Ausnahmen, aber dies ist nicht eine).
in car.js
InformationsquelleAutor der Antwort Raynos
Die richtige Antwort ist meist die Verwendung bedürfen, aber in ein paar Fällen ist es nicht möglich.
Dem folgenden code wird den trick tun, aber verwenden Sie es mit Sorgfalt:
InformationsquelleAutor der Antwort kybernetikos
Kurze Antwort:
InformationsquelleAutor der Antwort Dorian
können Sie setzen
an der Spitze Ihrer car.js die Datei für Sie zu arbeiten, oder Sie können tun, was Raynos sagte zu tun.
InformationsquelleAutor der Antwort Stephen
Wenn Sie nur wollen, um zu testen, eine Bibliothek von der Kommandozeile aus, die man tun könnte:
InformationsquelleAutor der Antwort Bouke Versteegh
Dieser Ansatz funktioniert für mich in Node.js, gibt es irgendwelche Probleme mit diesem?
Datei 'include.js':
Datei 'main.js':
InformationsquelleAutor der Antwort Marcio Pamplona