Der Hauptunterschied besteht darin, wo die Logik für die Route definiert ist. Letzteres wird normalerweise empfohlen, da es die Verantwortung für die Routen entkoppelt und den Code ein wenig sauberer zu lesen macht.
app.get('/example', function(req, res) {});
In der obigen Routendefinition wird die Logik für diese Route innerhalb der Funktion definiert, die eine Anfrage aufgerufen werden, wenn gegen /example
hergestellt ist. Wenn Sie so viele Routen in einer Datei definiert haben, wird es schwierig, sie zu verfolgen und zu lesen.
app.get('/example', routes.example);
Diese Routendefinition ist mehr oder weniger identisch mit dem vorherigen in wie es funktioniert. Der Hauptvorteil ist, dass es viel besser lesbar ist, wenn Sie viele Routendefinitionen in einer einzigen Datei haben.
Wie für das ./routes
Verzeichnis mit mehreren Routendateien darin, ist dies wegen Router Middleware. Der Hauptvorteil besteht darin, dass Routen in separaten Dateien definiert und dann als Middleware in die Hauptanwendung eingefügt werden können.
Ich würde empfehlen, express-generator
zu verwenden, um eine neue Express-App zu erstellen und die Struktur der App und ihrer Verzeichnisse durchzugehen. Dies ist mehr oder weniger die empfohlene Struktur für die Erstellung einer Express-App. Es wird auch zeigen, wie Router Middleware richtig verwendet wird und Sie werden ein Gefühl dafür bekommen, wie Routen in Ihre Haupt-Express-App eingefügt werden.
Hervorragende Erklärung!Ich wusste nicht über die Router-Middleware. Ich werde die Links lesen, die du mir geschickt hast. Vielen Dank ! –