So erstellen Sie einen einfachen Webserver in Node.js.
Node.js ist seit seiner ersten Veröffentlichung vor über einem Jahrzehnt zu einer der beliebtesten Optionen für die serverseitige Entwicklung geworden. Während es im Vergleich zu PHP und anderen Backend-Technologien noch relativ neu ist, wurde es von Technologiegiganten wie LinkedIn, PayPal, Netflix und anderen weit verbreitet.
In diesem Artikel erfahren Sie, wie Sie mit Node.js und dem Express.js-Webframework Ihren eigenen Webserver erstellen und ausführen können.
Beteiligte Technologien und Pakete
Node.js ist eine JavaScript-Laufzeit, die auf der V8-Engine von Chrome basiert und es Ihnen ermöglicht, JavaScript-Code außerhalb des Browsers auszuführen. Traditionell wird die Programmiersprache JavaScript zum Bearbeiten des Document Object Model (DOM) verwendet , um Websites Interaktivität zu verleihen.
Aus diesem Grund konnte JavaScript-Code nur im Browser ausgeführt werden, da das DOM nur auf Webseiten vorhanden ist. Mit Node.js können Sie JavaScript in der Befehlszeile und auf Servern ausführen. Daher ist es wichtig, Node.js und npm auf Ihrem Computer zu installieren, bevor Sie beginnen.
Andererseits ist Express.js ein minimalistisches Webframework, das zum De-facto-Backend-Framework für Node.js geworden ist. Express.js ist jedoch keine Notwendigkeit. Sie können weiterhin das integrierte http- Modul von Node.js verwenden, um Ihren Server zu erstellen. Express.js basiert auf dem http- Modul und bietet eine einfachere API mit allen erforderlichen Konfigurationen.
Erstellen eines Webservers
Um Ihren Code besser zu organisieren, können Sie zunächst einen Ordner erstellen, in dem sich alle Dateien und Abhängigkeiten befinden. Da Express.js kein integriertes Node.js-Modul ist, müssen Sie es mit npm installieren.
Führen Sie zum Installieren des Express.js-Pakets den Befehl npm install express auf Ihrem Terminal oder Ihrer Eingabeaufforderung aus. Stellen Sie vor der Installation sicher, dass Sie sich im Projektverzeichnis befinden.
Nach Abschluss können Sie den Ordner mit einem Texteditor oder einer IDE Ihrer Wahl öffnen und eine neue Datei mit dem Namen server.js erstellen . Um das Express.js-Paket zu verwenden, müssen Sie zunächst eine Instanz davon in die Datei server.js importieren und erstellen.
const express = require('express');
const app = express();
Das Hauptziel eines Webservers besteht darin, auf Anfragen von verschiedenen Routen mit der entsprechenden Handlerfunktion zu antworten. Dieser Code verarbeitet alle GET-Anforderungen an den Root-Pfad ( "/" ) und antwortet mit "Hello World!"
app.get('/', (req, res) => {
res.send('<h1>Hello World</h1>');
});
Ebenso können Sie dynamischen Inhalt anzeigen und andere Vorgänge ausführen, abhängig vom Pfad und der Art der Anforderung, die Sie stellen. Dies kann unter Verwendung von Routenparametern erfolgen, durch das Semikolon bezeichnet: vor dem Parameter.
app.get('/:name', (req, res) => {
res.send(`<h1>Welcome to ${req.params.name}!</h1>`);
};
In beiden obigen Beispielen stellt die erste Zeile die Verwendung der .get () -Methode von Express.js dar, die zwei Parameter akzeptiert : den Endpunkt oder die Route und eine Callback-Handler-Funktion, die Anforderungen und Antwortobjekte als Parameter verwendet. Diese beiden Parameter werden automatisch gesendet, wenn Sie eine Anfrage stellen.
In der zweiten Zeile erfolgt die Antwort über die Methode .send () für das Antwortobjekt . In der Klammer können Sie beliebigen Text oder HTML eingeben. Bei dynamischen Routen gibt der Zugriff auf req.params.name (da Sie /: name verwendet haben ) des Anforderungsobjekts den Wert des dynamischen Routenparameters (in diesem Fall name ) zurück.
Um eingehende Anforderungen an einem Port abzuhören, können Sie die Methode .listen () verwenden, die die Portnummer und eine optionale Rückruffunktion verwendet, um bei erfolgreicher Ausführung ausgeführt zu werden.
app.listen(5000, console.log('Server is running on port 5000'));
Ich habe im Beispiel Port 5000 verwendet, aber Sie können ihn in einen beliebigen gültigen Port ändern. Das ist der gesamte Code, den Sie zum Erstellen eines einfachen Webservers mit Node.js und Express.js benötigen. Das gleiche Konzept kann weiter erweitert werden, um andere Anforderungen wie POST , PUT oder DELETE an andere Routen zu senden . So sieht die Datei server.js aus:
Testen des Servers
Um den Code auszuführen und den Server zu starten, führen Sie den Befehl node server auf Ihrem Terminal oder der Eingabeaufforderung im Projektverzeichnis aus. Dadurch wird die Rückruffunktion ausgeführt, die Sie für die Methode .listen () angegeben haben .
Um zu bestätigen, dass der Server funktioniert, öffnen Sie einen Webbrowser und besuchen Sie http: // localhost: 5000
Wenn Sie eine dynamische Route wie http: // localhost: 5000 / muo besuchen , wird die zweite Handlerfunktion ausgeführt und angezeigt:
Um den Server zu stoppen, drücken Sie unter Windows Strg + C oder unter MacOS Cmd + C.
Node.js kann mehr
Die Popularität von JavaScript steigt stark an, da Entwickler es sowohl im Frontend als auch im Backend verwenden. Dadurch müssen Sie nicht mehr mehrere Programmiersprachen lernen und können Ihre Reise als Full-Stack-Webentwickler nur mit JavaScript beginnen.
Wenn Sie der Programmiersprache von Google lieber eine Chance geben möchten, ist der Aufbau eines einfachen Webservers ein großartiges Startprojekt.