Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Moderne Webanwendungen mit Node.js und Express.js

Routen konfigurieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Hier geht es darum, mit Routen diverse Endpunkte und Pfade auf dem Express Server bereitstellen.

Transkript

Um eine Template-Engine wie Jade nutzen zu können, ist es notwendig, Express entsprechend zu konfigurieren. Neben der Konfiguration von Express selbst, werde ich Ihnen zeigen, wie Sie auch entsprechende Routen anlegen können, sodass Ihre Templates auch dargestellt werden. Ich begebe mich also zunächst in die Konfiguration meines Express-Servers und definiere vor der Public Middleware das als View-Engine für meinen Expressserver Jade benutzt wird, dafür ist es nicht notwendig irgendetwas zu installieren neben der tatsächlichen Jade-Abhängigkeit. Über den Eigenschaftswert "views", steuere ich, in welchem Ordner meine Views abgelegt sind - in dem Fall index.jade. Diese beiden Änderungen an sich verändern an dem Verhalten von Express erst mal gar nichts, dafür muss ich als nächstes sogenannte Routen anlegen. Die Konvention ist es hier, einen Ordner anzulegen, der die Bezeichnung "Routes" trägt. In Zukunft plane ich es, zwei Routen zu haben: zum einen die Route für den Index als auch die Route für eine noch anzulegende View mit der Bezeichnung "posts". Später werden beide Module sein. Aus diesem Grund kann ich diese auch wie Module entsprechend innerhalb meiner JavaScript-Datei laden. Ich spezifiziere sie also als variablen Index und Posts, die aus dem Ordner "routes" als Index und Posts geladen werden. Als nächstes muss ich Express mitteilen, dass diese entsprechenden Routes auch genutzt werden. Ich definiere also zusätzliche Middlewares über app.use für den Pfad Index und für den Pfad Posts mit den jeweiligen Referenzen auf die beiden geladenen Module. Innerhalb einer der Routen definiere ich nun eine Abhängigkeit zum Express-Framework und nutze das Express-Framework um einen sogenannten Router zu erzeugen. Die Bezeichnung dieses Routers ist auch wieder reine Konventionssache. Wichtig ist am Ende, dass ich diesen Router exportiere. Ich definiere auf dem Router eine GET-Methode, wie ich es bereits von Express kenne, unter dem Pfad "/", das bedeutet der Route-Pfad. Unter Umständen könnte ich auch hier wieder mit der Anfrage und der Antwort umgehen, allerdings verwende ich auf der Antwort nun die Methode "render" und referenziere die Datei Index, was so viel heißt wie die Index.Jade-Datei. Da ich bereits die View-Engine und den Ordner Views definiert habe, weiß Express entsprechend, dass Index zu rendern ist. Mein Vorgehen ist analog für die Posts.js-Datei. Auch hier referenziere ich den Route-Ordner. Das ist zunächst ungewöhnlich, bedeutet aber nichts anderes, als dass direkt der Pfad Posts betroffen ist. Würde ich etwas darunter schreiben, wäre es entsprechend ein Pfad unter Posts. Da die Datei Posts.Jade noch nicht vorliegt, lege ich diese nun an. Um es korrekt abzubilden, muss ich noch einige Umstrukturierungsmaßnahmen in meiner Layout.Jade-Datei vornehmen. Um eine bessere Kapselung zu erhalten, lege ich weiterhin eine Datei mit dem Namen "navigation.jade" an und verwende diese innerhalb meiner Layout.Jade-Datei mit dem Befehl "include.navigation". Um den Content-Block etwas variabler zu halten, entnehme ich nun zunächst einmal die Navigation aus der Index.Jade-Datei und entferne weiterhin den Container und trage ihn in die Layout.Jade-Datei. Um sicherzustellen, dass die Einrückungen stimmen, muss der Block Content unterhalb des Main-Containers stehen. Ich rücke also den Rest der Datei wieder ein und entferne zu guter Letzt noch die Script "referenzen" und packe diese auch entsprechend in den Body des Layouts. Da nun Navigation und Main-Container nicht mehr Teil der Index.Jade-Datei sind, kann ich nun entsprechend meine Posts.Jade ähnlich aufbauen, das heißt, ich kopiere mir einen bestimmten Block aus der Index.Jade, den ich hier in der Posts.Jade wiederverwenden möchte und referenziere das Layout. Wenn ich nun meine Anwendung starte, finde ich unter dem Index-Pfad entsprechend die Webseite selbst, also die Index.Jade-Datei, die automatisch von Express gerendert wurde und unter "/posts" finde ich entsprechend nur noch die Posts. Um Express einzurichten, habe ich initial, also die View-Engine auf Jade umgestellt und den Views-Ordner als solchen referenziert, damit später innerhalb der Routen mit der Render-Methode auf die Views zurückgegriffen werden kann. Die Routen wurden als eine Art Middleware für Express definiert und um nun zusätzlich eine weitere Ansicht zu bauen, wie beispielsweise die Post.Jade, habe ich meine Views noch ein wenig restrukturiert.

Moderne Webanwendungen mit Node.js und Express.js

Entwickeln Sie auf der Open-Source-Plattform Node.js kompakte und performante Webapplikationen und lernen Sie weiterführende Konzepte professioneller Webentwicklung kennen.

2 Std. 20 min (24 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:23.03.2015
Laufzeit:2 Std. 20 min (24 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!