Ein Beispiel für Anfänger
Ich mag das ursprünglich von @ david-ellis überprüfte und Sie sollten es gründlich studieren, um es zu verstehen, da es ein gutes ist. Ich hätte es mir jedoch für Anfänger, die ein einfaches Beispiel sehen möchten, lieber vereinfacht. Folgendes hätte ich gerne gesehen, wenn mir jemand gezeigt hätte.
Geben wir ein typisches Szenario an, in dem Sie Express verwenden und viele Routen in Ihrer Datei app.js aufgeführt sind. Sein Inhalt würde ungefähr so aussehen:
app.js.
// ... startup code omitted above
app.get('/', function(req, res) {
res.render('index', { title : 'home' });
});
app.get('/contactus', function(req, res) {
res.render('contactus', { title : 'contact us' });
});
app.get('/anotherpage', function(req, res) {
res.render('anotherpage', { title : 'another page' });
});
// and so on...
Sie können sich vorstellen, dass diese Datei bei 50 Routen völlig außer Kontrolle geraten kann. Es wäre schön, etwas von dieser Unordnung aus der Datei app.js zu entfernen.
Sie würden in Ihrer App einen Ordner "Controller" erstellen, damit Ihre Struktur nun folgendermaßen aussieht:
app.js
/controllers
Erstellen Sie eine Datei in "/ controller" mit dem Namen "index.js" und geben Sie den folgenden Code ein.
/controllers/index.js
module.exports.set = function(app) {
// copy your routes listed in your app.js directly into here
}
Schneiden Sie Ihre Routenlisten aus Ihrer Datei "app.js" aus und fügen Sie sie in die Datei "/controllers/index.js" ein.
Entfernen Sie in Ihrer app.js-Datei Ihre Routen und führen Sie stattdessen die folgenden Schritte aus.
app.js.
// remove your routes and replace with this code
var controllers = require('./controllers');
controllers.set(app);
Wenn Sie nun möchten, dass Ihre Datei "/controllers/index.js" ebenfalls aufgeteilt wird, fügen wir ein weiteres Beispiel hinzu, damit Sie sehen können, wie sich Node.js wirklich wie eine russische Puppe verhält, wenn es darum geht, den Code zu organisieren.
Fügen Sie in "/ controller" eine weitere Datei "accounts.js" hinzu und platzieren Sie Folgendes darin.
/controllers/account.js
module.exports.set = function(app) {
// put more app route listings here
}
Fügen Sie nun in Ihrer Datei "/controllers/index.js" einen Verweis auf "account.js" ein.
/controllers/index.js
var account = require('./account.js');
module.exports.set = function(app) {
// your routes here
// let "account.js" set other routes
account.set(app);
}
Wie Sie sich vorstellen können, können Sie die Dinge immer wieder in immer kleinere Teile aufteilen und mehr Ordner in Ordner legen und mit "erfordern" referenzieren, wenn Sie möchten. Sie können dasselbe Konzept für "/ lib" - oder Bibliotheksdateien verwenden. "node_modules" macht das schon.
Dies ist nur einer von vielen Gründen, warum es sehr angenehm ist, mit node.js zu programmieren.
Beispiel für verwaltbares Express 4-Routing
Hier ist ein weiterer Beitrag, auf den ich über etwa 4 Express-Routen geantwortet habe.
Ruhen Sie sich mit dem verschachtelten Router von Express.j aus