Node.js Express.js Framework Tutorial

⚡ Intelligente Zusammenfassung

Express.js ist ein minimales Node.js-Webanwendungsframework, das Routing, Middleware und Template-Rendering zum Kernmodul HTTP hinzufügt, sodass Single-Page-, Multi-Page- und Hybrid-Anwendungen mit sehr wenigen Zeilen Code einen funktionierenden Server erreichen.

  • 🔘 Rolle des MEAN-Stacks: Express.js stellt die Backend-Schicht bereit. MongoDB, AngularJS und Node.js.
  • ☑️ Installation: npm install express lädt das Framework vom Node Package Manager herunter.
  • Routing: app.METHOD(PATH, HANDLER) ordnet jedem Pfad eine Methode zu. URL und HTTP-Verb an einen Handler.
  • 🧪 Vorlagen: app.set('view engine') plus res.render speist Daten in eine Ansichtsdatei ein.
  • Moderne Form: Express 5 akzeptiert Promise-Rückgabe-Handler und bündelt express.json().
  • 📊 Versionshinweis: Jade wurde in Pug umbenannt, und Node.js 24 ist die aktive LTS-Linie.

Node.js Express.js Framework-Tutorial

In diesem Tutorial beschäftigen wir uns mit dem Express-Framework. Dieses Framework ist so konzipiert, dass es als minimales und flexibles Node.js-Webanwendungsframework fungiert und eine robuste Reihe von Funktionen für die Entwicklung von Single-Page-, Multi-Page- und hybriden Webanwendungen bietet.

Was ist Express.js?

Express.js ist ein Webanwendungsserver-Framework für Node.js, das speziell für die Entwicklung von Single-Page-, Multi-Page- und Hybrid-Webanwendungen konzipiert wurde.

Es hat sich zum Standard-Server-Framework für Node.js entwickelt. Express ist der Backend-Teil des sogenannten MEAN-Stacks.

Express schichtet Routing und Middleware über die Node.js-Kern-HTTP-Schnittstelle, Ströme und Ereignis-APIs.

Der MEAN ist kostenlos und Open Source JavaSkript Software-Stack zum Erstellen dynamischer Websites und Webanwendungen, der die folgenden Komponenten enthält:

1) MongoDB — Die Standard-NoSQL-Datenbank

2) Express.js — Das Standard-Webanwendungsframework

3) AngularJS - Das JavaScript-MVC-Framework für Webanwendungen

4) Node.js — Framework für skalierbare serverseitige und Netzwerkanwendungen.

Das Express.js-Framework macht es sehr einfach, eine Anwendung zu entwickeln, die zur Verarbeitung mehrerer Arten von Anforderungen wie GET-, PUT- und POST- und DELETE-Anforderungen verwendet werden kann.

Express installieren und verwenden

Express wird über den Node Package Manager installiert. Dies kann durch Ausführen der folgenden Zeile in der Befehlszeile erfolgen

npm install express

Der obige Befehl fordert den Node Package Manager auf, die benötigten Express-Pakete herunterzuladen. Module und installieren Sie sie entsprechend.

Versionshinweis: npm installiert jetzt Express 5.2; viele Projekte verwenden weiterhin Express 4. Beide führen die folgenden Beispiele auf einem Unterstützte Node.js-Version.

Lassen Sie uns unser neu installiertes Express-Framework verwenden und eine einfache „Hello World“-Anwendung erstellen.

Unsere Anwendung wird ein einfaches Servermodul Der Server lauscht auf Port 3000. In unserem Beispiel sendet die Serveranwendung bei einer Anfrage über den Browser an diesen Port eine „Hello World“-Antwort an den Client.

Annotierter Express Hello World Servercode, der auf Port 3000 lauscht

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Code Erläuterung:

  1. In unserer ersten Codezeile verwenden wir die Funktion require, um das „Express-Modul“ einzubinden.
  2. Bevor wir das Express-Modul verwenden können, müssen wir ein Objekt daraus erstellen.
  3. Hier erstellen wir eine Callback-Funktion. Diese Funktion wird immer dann aufgerufen, wenn jemand die Startseite unserer Webanwendung unter http://localhost:3000 aufruft. Die Callback-Funktion sendet die Zeichenkette „Hello World“ an die Webseite.
  4. In der Callback-Funktion senden wir die Zeichenfolge „Hello World“ an den Client zurück. Der Parameter „res“ wird verwendet, um Inhalte an die Webseite zurückzusenden. Dieser „res“-Parameter wird vom „request“-Modul bereitgestellt, um es einem zu ermöglichen, Inhalte an die Webseite zurückzusenden.
  5. Anschließend verwenden wir die Listen-Funktion, um unsere Serveranwendung so zu konfigurieren, dass sie Clientanfragen auf Port 3000 entgegennimmt. Sie können hier jeden verfügbaren Port angeben.

Wenn der Befehl erfolgreich ausgeführt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausführen.

Ausgang:

Der Browser zeigt die Antwort „Hello World“ des Express-Servers auf Port 3000 an.

Aus der Ausgabe,

  • Das kann man deutlich sehen, wenn man zu folgendem navigiert: URL Wenn Sie localhost auf Port 3000 aufrufen, wird die Zeichenkette „Hello World“ auf der Seite angezeigt.
  • Da wir in unserem Code explizit angegeben haben, dass der Server auf Port 3000 lauschen soll, können wir die Ausgabe beim Aufruf dieser Seite sehen. URL.

Was sind Routen?

Eine einzelne Root-Route ist nur der Ausgangspunkt.

Das Routing bestimmt, wie eine Anwendung auf eine Clientanfrage an einen bestimmten Endpunkt reagiert.

Ein Client kann beispielsweise eine GET-, POST-, PUT- oder DELETE-HTTP-Anfrage für verschiedene Datentypen stellen. URL wie beispielsweise die unten abgebildeten;

http://localhost:3000/Books
http://localhost:3000/Students

Im obigen Beispiel ist

  • Wenn eine GET-Anfrage für das erste Element gestellt wird URLDann sollte die Antwort idealerweise eine Liste von Büchern sein.
  • Wenn die GET-Anfrage für die zweite URLDann sollte die Antwort idealerweise eine Liste von Studenten sein.
  • Also basierend auf dem URL Je nachdem, worauf zugegriffen wird, wird eine andere Funktion auf dem Webserver aufgerufen, und die entsprechende Antwort wird an den Client gesendet. Dies ist das Prinzip des Routings.

Jede Route kann über eine oder mehrere Handlerfunktionen verfügen, die ausgeführt werden, wenn die Route übereinstimmt.

Die allgemeine Syntax für eine Route ist unten dargestellt

app.METHOD(PATH, HANDLER)

Worin,

1) app ist eine Instanz des Express-Moduls

2) METHOD ist eine HTTP-Anfragemethode (GET, POST, PUT oder DELETE)

3) PATH ist ein Pfad auf dem Server.

4) HANDLER ist die Funktion, die ausgeführt wird, wenn die Route übereinstimmt.

Telefon PREISANFRAGE (Request) Zweck
app.get(PATH, HANDLER) STARTE Lesen Sie mehr
app.post(PATH, HANDLER) jetzt lesen Erschaffung
app.put(PATH, HANDLER) SETZEN Ersetzen
app.delete(PATH, HANDLER) LÖSCHEN Entfernen
app.route(PATH) Gekettet Gruppenbetreuer
app.use(HANDLER) Jedes Mount-Middleware

⚠️ Express 5 Hinweise: Diese Signaturen bleiben unverändert, aber app.del() wurde zu app.delete(), res.sendfile() wurde zu res.sendFile(), und Wildcards benötigen jetzt Namen wie /*splat.

Schauen wir uns ein Beispiel an, wie wir Routen in Express implementieren können. Unser Beispiel erstellt drei Routen als

  1. Eine /Node-Route, die die Zeichenfolge „Tutorial on Node“ anzeigt, wenn auf diese Route zugegriffen wird
  2. Eine /Angular-Route, die die Zeichenfolge „Tutorial on Angular“ anzeigt, wenn auf diese Route zugegriffen wird
  3. Eine Standardroute /, die die Zeichenkette „Willkommen bei“ anzeigt. Guru99 Tutorials.“

Unser Grundcode bleibt derselbe wie in den vorherigen Beispielen. Der folgende Ausschnitt ist ein Add-on, das zeigt, wie Routing implementiert wird.

Annotierter Express-Routing-Code, der die Node-, Angular- und Standardrouten definiert.

var express = require('express');
var app = express();
app.route('/Node').get(function(req,res)
{
    res.send("Tutorial on Node");
});
app.route('/Angular').get(function(req,res)
{
    res.send("Tutorial on Angular");
});
app.get('/',function(req,res){
    res.send('Welcome to Guru99 Tutorials');
});

Code Erläuterung:

  1. Hier definieren wir eine Route, falls die URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLDie Funktion hat 2 Parameter.
    • Der Hauptparameter, den wir verwenden werden, ist der Parameter „res“, mit dem Informationen an den Client zurückgesendet werden können.
    • Der Parameter „req“ enthält Informationen über die gestellte Anfrage. Manchmal können im Rahmen der gestellten Anfrage zusätzliche Parameter gesendet werden. Daher kann der Parameter „req“ verwendet werden, um die gesendeten zusätzlichen Parameter zu finden.
  2. Wir verwenden die Sendefunktion, um die Zeichenfolge „Tutorial on Node“ an den Client zurückzusenden, wenn die Node-Route gewählt wird.
  3. Hier definieren wir eine Route, falls die URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Angular URL.
  4. Wir verwenden die Sendefunktion, um die Zeichenfolge „Tutorial on Angular“ an den Client zurückzusenden, wenn die Angular-Route gewählt wird.
  5. Dies ist die Standardroute, die beim Aufruf der Anwendungs-Startseite – http://localhost:3000 – ausgewählt wird. Bei Auswahl der Standardroute wird die Meldung „Willkommen bei Guru99 Tutorials werden an den Kunden gesendet.

Wenn der Befehl erfolgreich ausgeführt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausführen.

Ausgang:

Browser zeigt Willkommen bei Guru99 Tutorials auf der Standard-Expressroute

Aus der Ausgabe,

  • Das kann man deutlich sehen, wenn man zu folgendem navigiert: URL Wenn Sie localhost auf Port 3000 aufrufen, sehen Sie die Zeichenkette „Willkommen bei GuruAuf der Seite werden 99 Tutorials angezeigt.
  • Denn in unserem Code haben wir erwähnt, dass unser Standard URL würde diese Meldung anzeigen.

Navigieren Sie als Nächstes zu /Node.

Der Browser zeigt ein Tutorial zu Node an, das von der Node-Route zurückgegeben wird.

Aus der Ausgabe,

  • Man kann sehen, dass wenn die URL wurde auf /Node geändert, die entsprechende Node-Route wird ausgewählt und die Zeichenkette „Tutorial on Node“ wird angezeigt.

Navigieren Sie anschließend zu /Angular.

Der Browser zeigt das Tutorial zu Angular an, das von der Angular-Route zurückgegeben wird.

Aus der Ausgabe,

  • Man kann sehen, dass wenn die URL wurde die URL auf /Angular geändert, die entsprechende Node-Route wird ausgewählt und die Zeichenkette „Tutorial on Angular“ wird angezeigt.

Beispiel-Webserver mit express.js

Anhand unseres obigen Beispiels haben wir gesehen, wie wir anhand des Routings entscheiden können, welche Ausgabe angezeigt wird. Diese Art des Routings wird in den meisten modernen Webanwendungen verwendet. Der andere Teil eines Webservers befasst sich mit der Verwendung von Templates in Node.js.

Für die schnelle Entwicklung von Node.js-Anwendungen bietet sich die Verwendung von Vorlagen an. Auf dem Markt sind zahlreiche Frameworks zur Erstellung von Vorlagen verfügbar. In diesem Beispiel verwenden wir das Jade-Framework.

Jade wird über den Node Package Manager installiert. Dies kann durch Ausführen der folgenden Zeile in der Befehlszeile erfolgen.

npm install jade

Der obige Befehl fordert den Node Package Manager auf, die benötigten Jade-Module herunterzuladen und entsprechend zu installieren.

Anmerkungen: In der neuesten Version von Node ist Jade veraltet. Verwenden Sie stattdessen Mops.

⚠️ Moderne Entsprechung: installieren MopsBenennen Sie index.jade in index.pug um und setzen Sie app.set('view engine','pug'). Das Jade-Paket erhält keine Aktualisierungen; die folgenden Schritte werden weiterhin ausgeführt.

Lasst uns unser neu installiertes Jade-Framework nutzen und einige einfache Vorlagen erstellen.

Schritt 1) Im ersten Schritt erstellen Sie eine Jade-Vorlage. Erstellen Sie eine Datei namens index.jade und fügen Sie den unten stehenden Code ein. Achten Sie darauf, die Datei im Ordner „views“ zu erstellen.

index.jade-Vorlagen-Markup mit Titel- und Überschriftenplatzhaltern

  1. Hier geben wir an, dass der Titel der Seite in den Wert geändert wird, der beim Aufruf dieser Vorlage übergeben wird.
  2. Wir legen außerdem fest, dass der Text im Header-Tag durch den im Jade-Template übergebenen Text ersetzt wird.

Der zugehörige Anwendungscode folgt.

Annotierter Express-Code, der die Jade-View-Engine und den Renderindex festlegt.

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
res.render('index',
{title:'Guru99',message:'Welcome'})
});
var server=app.listen(3000,function() {});

Code Erläuterung:

  1. Als Erstes muss in der Anwendung die „View-Engine“ angegeben werden, die zum Rendern der Templates verwendet wird. Da wir Jade zum Rendern unserer Templates verwenden, geben wir dies entsprechend an.
  2. Die Renderfunktion wird zum Rendern einer Webseite verwendet. In unserem Beispiel rendern wir die Vorlage (index.jade), die zuvor erstellt wurde.
  3. Wir übergeben die Werte von „GuruDie Werte „99“ und „Willkommen“ werden den Parametern „title“ bzw. „message“ zugewiesen. Diese Werte werden durch die in der Vorlage index.jade deklarierten Parameter „title“ und „message“ ersetzt.

Wenn der Befehl erfolgreich ausgeführt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausführen.

Ausgang:

Der Browser rendert die Jade-Vorlage mit dem Titel Guru99 und Überschrift Willkommen

Aus der Ausgabe,

  • Wir können sehen, dass der Seitentitel auf „Guru99“ und die Seitenüberschrift wird auf „Willkommen“ gesetzt.
  • Dies liegt an der Jade-Vorlage, die in unserer Node.js-Anwendung aufgerufen wird.

Häufig gestellte Fragen

Middleware Die Funktionen erhalten `req`, `res` und `next` und werden dann in der Reihenfolge der Registrierung ausgeführt. Sie kümmern sich um Protokollierung, das Parsen des Antworttextes, Authentifizierung und Fehlerbehandlung und müssen jeweils die Antwort abschließen oder `next()` aufrufen.

Nein. Express bündelt die Parser, daher ersetzen express.json() und express.urlencoded() die separaten Parser. Body-Parser Abhängigkeit. Die kombinierte Hilfsfunktion bodyParser() wurde entfernt, und req.body bleibt undefiniert, bis ein Parser ausgeführt wird.

Express 5 Handler wurden Promise-fähig gemacht, app.del() und res.sendfile() wurden entfernt, die Pfadüberprüfung wurde verbessert, sodass Wildcards Namen wie /*splat benötigen, und urlencoded extended wurde standardmäßig auf false gesetzt.

In Express 5 wird ein abgelehntes Promise automatisch an die Fehlerbehandlungs-Middleware weitergeleitet, sodass manuelle `next(err)`-Aufrufe entfallen. Express 4 benötigt hingegen einen expliziten `try/catch`-Block innerhalb jeder asynchronen Aufgabe. callback .

MopsJade wurde aus markenrechtlichen Gründen umbenannt, und das Jade-Paket ist veraltet. Bestehende Vorlagen funktionieren weiterhin, nachdem sie in .pug umbenannt und die View-Engine gewechselt wurde.

Node.js 24 ist die aktive LTS-Version im Jahr 2026, während Node.js 22 weiterhin gewartet wird. installieren Eines davon. Express 5 benötigt Node.js 18 oder neuer.

Maschinelle Lernscanner lesen Routendefinitionen und die Reihenfolge der Middleware und kennzeichnen dann fehlende und nicht validierte Authentifizierungen. JavaSkript Eingabe und permissive CORS-Regeln. Jeder Befund wird weiterhin von einem menschlichen Prüfer bestätigt.

GitHub-Copilot Ähnliche Agentenassistenten generieren Routendateien, Validierungs-Middleware und Controller-Stubs anhand einer kurzen Eingabeaufforderung. Jede generierte Route benötigt dennoch testing vor der Freilassung.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: