Einrichten einer Node-Entwicklungsumgebung
Jetzt, da Sie wissen, wofür Express gedacht ist, zeigen wir Ihnen, wie Sie eine Node/Express-Entwicklungsumgebung unter Windows, Linux (Ubuntu) oder macOS einrichten und testen. Für eines dieser Betriebssysteme bietet dieser Artikel alles, was Sie benötigen, um mit der Entwicklung von Express-Anwendungen zu beginnen.
Warnung: Das Express-Tutorial ist für Express Version 4 geschrieben, während die neueste Version Express 5 ist. Wir planen, die Dokumentation in der zweiten Hälfte von 2025 zu aktualisieren, um Express 5 zu unterstützen. Bis dahin haben wir die Installationsbefehle so aktualisiert, dass sie Express 4 anstelle der neuesten Version installieren, um potenzielle Kompatibilitätsprobleme zu vermeiden.
Voraussetzungen: | Wissen, wie man ein Terminal / eine Befehlszeile öffnet. Wissen, wie man Softwarepakete auf dem Betriebssystem des Entwicklungscomputers installiert. |
---|---|
Ziel: | Einrichten einer Entwicklungsumgebung für Express auf Ihrem Computer. |
Überblick über die Express-Entwicklungsumgebung
Node und Express machen es sehr einfach, Ihren Computer einzurichten, um mit der Entwicklung von Webanwendungen zu beginnen. Dieser Abschnitt bietet einen Überblick über die erforderlichen Werkzeuge, erklärt einige der einfachsten Methoden zur Installation von Node (und Express) auf Ubuntu, macOS und Windows und zeigt, wie Sie Ihre Installation testen können.
Was ist die Express-Entwicklungsumgebung?
Die Express-Entwicklungsumgebung umfasst eine Installation von Nodejs, dem npm-Paketmanager und (optional) dem Express Application Generator auf Ihrem lokalen Computer.
Node und der npm Paketmanager werden zusammen über vorbereitete Binärpakete, Installer, Betriebssystem-Paketmanager oder aus dem Quellcode installiert (wie in den folgenden Abschnitten gezeigt). Express wird dann von npm als Abhängigkeit Ihrer individuellen Express-Webanwendungen installiert (zusammen mit anderen Bibliotheken wie Template-Engines, Datenbanktreibern, Authentifizierungs-Middleware, Middleware zum Bereitstellen statischer Dateien usw.).
npm kann auch verwendet werden, um den Express Application Generator (global) zu installieren, ein nützliches Werkzeug, um Gerüst-Express-Web-Apps zu erstellen, die dem MVC-Muster folgen. Der Anwendungsgenerator ist optional, da Sie dieses Werkzeug nicht benötigen, um Apps zu erstellen, die Express verwenden, oder Express-Apps zu konstruieren, die das gleiche Architekturlayout oder die gleichen Abhängigkeiten haben. Wir werden es jedoch verwenden, da es den Einstieg erleichtert und eine modulare Anwendungsstruktur fördert.
Hinweis: Im Gegensatz zu einigen anderen Web-Frameworks enthält die Entwicklungsumgebung keinen separaten Entwicklungs-Webserver. In Node/Express erstellt und betreibt eine Webanwendung ihren eigenen Webserver!
Es gibt andere periphere Werkzeuge, die Teil einer typischen Entwicklungsumgebung sind, einschließlich Texteditoren oder IDEs zum Bearbeiten von Code und Tools zur Versionsverwaltung wie Git zur sicheren Verwaltung verschiedener Versionen Ihres Codes. Wir gehen davon aus, dass Sie solche Werkzeuge bereits installiert haben (insbesondere einen Texteditor).
Welche Betriebssysteme werden unterstützt?
Node kann unter Windows, macOS, vielen Linux-Distributionen, Docker usw. ausgeführt werden. Eine vollständige Liste finden Sie auf der Node.js Downloads-Seite. Fast jeder persönliche Computer sollte die notwendige Leistung haben, um Node während der Entwicklung auszuführen. Express wird in einer Node-Umgebung ausgeführt und kann daher auf jeder Plattform laufen, die Node ausführt.
In diesem Artikel bieten wir Anweisungen zur Einrichtung für Windows, macOS und Ubuntu Linux an.
Welche Version von Node/Express sollten Sie verwenden?
Es gibt viele Veröffentlichungen von Node — neuere Versionen enthalten Fehlerbehebungen, Unterstützung für neuere Versionen der ECMAScript (JavaScript) Standards und Verbesserungen der Node-APIs.
Im Allgemeinen sollten Sie die neueste LTS (Long-Term Supported) Version verwenden, da diese stabiler ist als die „aktuelle“ Version, während sie dennoch relativ aktuelle Funktionen bietet (und weiterhin aktiv gewartet wird). Sie sollten die aktuelle Version verwenden, wenn Sie eine Funktion benötigen, die in der LTS-Version nicht vorhanden ist.
Für Express sollten Sie immer die neueste Version verwenden.
Wie sieht es mit Datenbanken und anderen Abhängigkeiten aus?
Andere Abhängigkeiten, wie Datenbanktreiber, Template-Engines, Authentifizierungs-Engines usw. sind Teil der Anwendung und werden mit dem npm-Paketmanager in die Anwendungsumgebung importiert. Wir werden diese in späteren, anwendungsspezifischen Artikeln besprechen.
Installation von Node
Um Express nutzen zu können, müssen Sie Nodejs und den Node Package Manager (npm) auf Ihrem Betriebssystem installieren. Um dies zu erleichtern, installieren wir zuerst einen Node-Version-Manager und verwenden ihn dann, um die neuesten Langzeit-Support-Versionen (LTS) von Node und npm zu installieren.
Hinweis: Sie können auch Nodejs und npm mit den auf https://nodejs.org/en/ bereitgestellten Installationsprogrammen installieren (wählen Sie die Schaltfläche zum Herunterladen des LTS-Builds, das „Empfohlen für die meisten Benutzer“ ist), oder Sie können mit dem Paketmanager für Ihr Betriebssystem installieren (nodejs.org). Wir empfehlen dringend, einen Node-Version-Manager zu verwenden, da diese die Installation, Aktualisierung und den Wechsel zwischen bestimmten Versionen von Node und npm erleichtern.
Windows
Es gibt eine Reihe von Node-Version-Managern für Windows. Hier verwenden wir nvm-windows, der unter Node-Entwicklern hoch angesehen ist.
Installieren Sie die neueste Version mit dem Installer Ihrer Wahl von der nvm-windows/releases-Seite.
Nachdem nvm-windows
installiert wurde, öffnen Sie eine Eingabeaufforderung (oder PowerShell) und geben Sie den folgenden Befehl aus, um die neueste LTS-Version von Nodejs und npm herunterzuladen:
nvm install lts
Zum Zeitpunkt des Schreibens ist die LTS-Version von Nodejs 20.11.0. Sie können diese mit dem folgenden Befehl als aktuelle Version festlegen:
nvm use 20.11.0
Hinweis: Wenn Sie Warnungen "Zugriff verweigert" erhalten, müssen Sie diesen Befehl in einer Eingabeaufforderung mit Administratorrechten ausführen.
Verwenden Sie den Befehl nvm --help
, um weitere Befehlszeilenoptionen zu finden, wie z.B. das Auflisten aller verfügbaren Node-Versionen und aller heruntergeladenen NVM-Versionen.
Ubuntu und macOS
Es gibt eine Reihe von Node-Version-Managern für Ubuntu und macOS.
nvm ist einer der populäreren und basiert auf der ursprünglichen Version, auf der nvm-windows
basiert.
Siehe nvm > Install & Update Script für die Terminalanweisungen zur Installation der neuesten Version von nvm.
Nachdem nvm
installiert wurde, öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um die neueste LTS-Version von Nodejs und npm herunterzuladen:
nvm install --lts
Zum Zeitpunkt des Schreibens ist die LTS-Version von Nodejs 20.11.0.
Der Befehl nvm list
zeigt die heruntergeladene Versionsmenge und die aktuelle Version an.
Sie können eine bestimmte Version als aktuelle Version mit dem folgenden Befehl festlegen (dieselbe wie für nvm-windows
).
nvm use 20.11.0
Verwenden Sie den Befehl nvm --help
, um weitere Befehlszeilenoptionen zu finden.
Diese sind oft ähnlich oder identisch mit denen, die von nvm-windows
angeboten werden.
Testen Ihrer Nodejs- und npm-Installation
Sobald Sie nvm
auf eine bestimmte Node-Version eingestellt haben, können Sie die Installation testen.
Eine gute Möglichkeit, dies zu tun, ist die Verwendung des „Version“-Befehls in Ihrem Terminal/Ihrer Eingabeaufforderung und das Überprüfen, ob die erwartete Versionszeichenfolge zurückgegeben wird:
> node -v
v20.11.0
Der Nodejs Paketmanager npm sollte ebenfalls installiert worden sein und kann auf die gleiche Weise getestet werden:
> npm -v
10.2.4
Als einen etwas aufregenderen Test werfen wir einen ganz einfachen „Pure Node“-Server, der im Browser "Hello World" anzeigt, wenn Sie die richtige URL in Ihrem Browser besuchen:
-
Kopieren Sie den folgenden Text in eine Datei namens hellonode.js. Dies verwendet reine Node-Funktionen (nichts von Express):
js//Load HTTP module const http = require("http"); const hostname = "127.0.0.1"; const port = 3000; //Create HTTP server and listen on port 3000 for requests const server = http.createServer((req, res) => { //Set the response HTTP header with HTTP status and Content type res.statusCode = 200; res.setHeader("Content-Type", "text/plain"); res.end("Hello World\n"); }); //listen for request on port 3000, and as a callback function have the port listened on logged server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Der Code importiert das "http"-Modul und verwendet es, um einen Server (
createServer()
) zu erstellen, der HTTP-Anfragen auf Port 3000 lauscht. Das Skript gibt dann eine Nachricht in die Konsole aus, welche Browser-URL Sie verwenden können, um den Server zu testen. DiecreateServer()
-Funktion nimmt als Argument eine Rückruffunktion, die bei Empfang einer HTTP-Anfrage aufgerufen wird, und gibt eine Antwort mit einem HTTP-Statuscode von 200 („OK“) und dem Klartext „Hello World“ zurück.Hinweis: Machen Sie sich keine Sorgen, wenn Sie noch nicht genau verstehen, was dieser Code macht! Wir werden unseren Code ausführlicher erklären, sobald wir mit Express beginnen!
-
Starten Sie den Server, indem Sie in das gleiche Verzeichnis wie Ihre
hellonode.js
-Datei navigieren undnode
zusammen mit dem Skriptnamen aufrufen, wie folgt:bashnode hellonode.js
Sobald der Server startet, sehen Sie die Konsolenausgabe, die die IP-Adresse anzeigt, auf der der Server läuft:
Server running at http://127.0.0.1:3000/
-
Navigieren Sie zur URL
http://127.0.0.1:3000
. Wenn alles funktioniert, sollte der Browser die Zeichenkette "Hello World" anzeigen.
Verwendung von npm
Neben Node selbst ist npm das wichtigste Werkzeug für die Arbeit mit Node-Anwendungen.
npm
wird verwendet, um alle Pakete (JavaScript-Bibliotheken), die eine Anwendung für Entwicklung, Test und/oder Produktion benötigt, zu holen. Es kann auch verwendet werden, um Tests und Werkzeuge zu führen, die im Entwicklungsprozess verwendet werden.
Hinweis: Aus der Sicht von Node ist Express nur ein weiteres Paket, das Sie mit npm installieren und dann in Ihrem eigenen Code anfordern müssen.
Sie können npm manuell verwenden, um jedes benötigte Paket separat abzurufen. Typischerweise verwalten wir stattdessen Abhängigkeiten mit einer einfachen Textdefinitionsdatei namens package.json. Diese Datei listet alle Abhängigkeiten für ein bestimmtes JavaScript-„Paket“ auf, einschließlich des Namens des Pakets, der Version, der Beschreibung, der zu startenden Datei, der Produktionsabhängigkeiten, der Entwicklungsabhängigkeiten, der Node-Versionen, mit denen es arbeiten kann usw. Die package.json-Datei sollte alles enthalten, was npm benötigt, um Ihre Anwendung zu holen und auszuführen (wenn Sie eine wiederverwendbare Bibliothek schreiben würden, könnten Sie diese Definition verwenden, um Ihr Paket an das npm-Repository hochzuladen und es für andere Benutzer zugänglich zu machen).
Hinzufügen von Abhängigkeiten
Die folgenden Schritte zeigen, wie Sie npm verwenden können, um ein Paket herunterzuladen, es in den Projektabhängigkeiten zu speichern und es dann in einer Node-Anwendung zu verwenden.
Hinweis: Hier zeigen wir die Anweisungen zum Abrufen und Installieren des Express-Pakets. Später werden wir zeigen, wie dieses Paket und andere bereits für uns mit dem Express Application Generator spezifiziert sind. Dieser Abschnitt wird bereitgestellt, weil er nützlich ist, um zu verstehen, wie npm funktioniert und was vom Anwendungsgenerator erstellt wird.
-
Erstellen Sie zuerst ein Verzeichnis für Ihre neue Anwendung und navigieren Sie hinein:
bashmkdir myapp cd myapp
-
Verwenden Sie den npm
init
-Befehl, um eine package.json-Datei für Ihre Anwendung zu erstellen. Dieser Befehl fordert Sie auf, eine Reihe von Dingen anzugeben, einschließlich des Namens und der Version Ihrer Anwendung und des Namens der anfänglichen Einstiegspunktdatei (standardmäßig ist dies index.js). Akzeptieren Sie vorerst einfach die Standardeinstellungen:bashnpm init
Wenn Sie die package.json-Datei anzeigen (
cat package.json
), sehen Sie die Standards, die Sie akzeptiert haben, und enden mit der Lizenz.json{ "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
-
Installieren Sie jetzt Express im Verzeichnis
myapp
und speichern Sie es in der Abhängigkeitsliste Ihrer package.json-Datei:bashnpm install express@^4.21.2
Der Abschnitt „dependencies“ Ihrer package.json wird nun am Ende der package.json-Datei erscheinen und Express enthalten.
json{ "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.21.2" } }
-
Um die Express-Bibliothek zu verwenden, rufen Sie die Funktion
require()
in Ihrer index.js-Datei auf, um sie in Ihre Anwendung einzubinden. Erstellen Sie diese Datei jetzt im Stammverzeichnis des „myapp“-Anwendungsverzeichnisses und geben Sie ihr folgenden Inhalt:jsconst express = require("express"); const app = express(); const port = 3000; app.get("/", (req, res) => { res.send("Hello World!"); }); app.listen(port, () => { console.log(`Example app listening on port ${port}!`); });
Dieser Code zeigt eine minimale "HelloWorld" Express-Webanwendung. Dieser importiert das „express“-Modul mit
require()
und verwendet es, um einen Server (app
) zu erstellen, der HTTP-Anfragen auf Port 3000 abhört und eine Nachricht in die Konsole schreibt, die erklärt, welche Browser-URL Sie verwenden können, um den Server zu testen. Die Funktionapp.get()
antwortet nur auf HTTP-GET
-Anfragen mit dem angegebenen URL-Pfad ('/'), in diesem Fall durch Aufrufen einer Funktion zum Senden unserer Hello World!-Nachricht.Hinweis: Die Backticks in der Zeichenkette
`Example app listening on port ${port}!`
erlauben es uns, den Wert von$port
in die Zeichenkette zu übernehmen. -
Sie können den Server starten, indem Sie
node
mit dem Skript in Ihrer Eingabeaufforderung aufrufen:bashnode index.js
Sie sehen Folgendes in der Konsolenausgabe:
Example app listening on port 3000
-
Navigieren Sie zur URL
http://localhost:3000/
. Wenn alles funktioniert, sollte der Browser die Zeichenkette "Hello World!" anzeigen.
Entwicklungsabhängigkeiten
Wenn eine Abhängigkeit nur während der Entwicklung verwendet wird, sollten Sie sie stattdessen als "Entwicklungsabhängigkeit" speichern (damit Ihre Paketbenutzer sie nicht in der Produktion installieren müssen). Um beispielsweise das beliebte JavaScript-Linting-Tool ESLint zu verwenden, würden Sie npm wie folgt aufrufen:
npm install eslint --save-dev
Der folgende Eintrag würde dann zu der package.json Ihrer Anwendung hinzugefügt werden:
"devDependencies": {
"eslint": "^7.10.0"
}
Hinweis: "Linters" sind Werkzeuge, die eine statische Analyse der Software durchführen, um die Einhaltung/nicht Einhaltung von bestimmten Codierungs-Best Practices festzustellen und zu melden.
Ausführen von Aufgaben
Zusätzlich zum Definieren und Abrufen von Abhängigkeiten können Sie auch benannte Skripte in Ihren package.json-Dateien definieren und npm aufrufen, um sie mit dem run-script-Befehl auszuführen. Dieser Ansatz wird häufig verwendet, um die Durchführung von Tests und Teilen der Entwicklungs- oder Build-Toolchain zu automatisieren (z.B. um Werkzeuge zum Minifizieren von JavaScript, Verkleinern von Bildern, zur Analyse Ihres Codes usw. auszuführen).
Hinweis: Aufgaben-Runners wie Gulp und Grunt können ebenfalls verwendet werden, um Tests und andere externe Werkzeuge auszuführen.
Zum Beispiel, um ein Skript zu definieren, um die eslint-Entwicklungsabhängigkeit, die wir im vorherigen Abschnitt angegeben haben, auszuführen, könnten wir den folgenden Skriptblock zu unserer package.json-Datei hinzufügen (angenommen, dass unser Anwendungsquellcode in einem Ordner /src/js liegt):
"scripts": {
// …
"lint": "eslint src/js"
// …
}
Um etwas genauer zu erklären: eslint src/js
ist ein Befehl, den wir in unser Terminal/unserer Befehlszeile eingeben könnten, um eslint
auf JavaScript-Dateien auszuführen, die sich im src/js
Verzeichnis innerhalb unseres App-Verzeichnisses befinden. Das obige Hinzufügen in unserer package.json Datei unserer App bietet eine Abkürzung für diesen Befehl — lint
.
Wir könnten dann eslint mit npm ausführen, indem wir aufrufen:
npm run-script lint
# OR (using the alias)
npm run lint
Dieses Beispiel mag nicht viel kürzer aussehen als der Originalbefehl, aber Sie können viel größere Befehle in Ihre npm-Skripte einfügen, einschließlich Ketten von mehreren Befehlen. Sie könnten ein einziges npm-Skript identifizieren, das alle Ihre Tests gleichzeitig ausführt.
Installation des Express Application Generators
Das Express Application Generator-Tool generiert ein Express-Anwendungsskelett. Installieren Sie den Generator mit npm wie gezeigt:
npm install express-generator -g
Hinweis:
Sie müssen möglicherweise diese Zeile mit sudo
unter Ubuntu oder macOS voranstellen. Das -g
-Flag installiert das Werkzeug global, damit Sie es von überall aus aufrufen können.
Um eine Express App namens „helloworld“ mit den Standardeinstellungen zu erstellen, navigieren Sie zu dem Ort, an dem Sie sie erstellen möchten, und führen Sie die App wie gezeigt aus:
express helloworld
Hinweis:
Sofern Sie nicht eine alte Nodejs-Version (< 8.2.0) verwenden, können Sie alternativ die Installation überspringen und express-generator mit npx ausführen.
Dies hat denselben Effekt wie das Installieren und anschließende Ausführen von express-generator
, aber installiert das Paket nicht auf Ihrem System:
npx express-generator helloworld
Sie können auch die zu verwendende Template-Bibliothek und eine Reihe anderer Einstellungen angeben.
Verwenden Sie den help
-Befehl, um alle Optionen anzuzeigen:
express --help
Der Generator wird die neue Express-App in einem Unterordner des aktuellen Standortes erstellen und den Baufortschritt in der Konsole anzeigen. Beim Abschluss zeigt das Tool die Befehle an, die Sie eingeben müssen, um die Node-Abhängigkeiten zu installieren und die App zu starten.
Die neue App wird eine package.json-Datei im Stammverzeichnis haben. Sie können diese öffnen, um zu sehen, welche Abhängigkeiten installiert sind, einschließlich Express und der Template-Bibliothek Jade:
{
"name": "helloworld",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"morgan": "~1.9.1"
}
}
Installieren Sie alle Abhängigkeiten für die helloworld-App mit npm wie gezeigt:
cd helloworld
npm install
Starten Sie dann die App (die Befehle sind leicht unterschiedlich für Windows und Linux/macOS), wie unten gezeigt:
# Run helloworld on Windows with Command Prompt
SET DEBUG=helloworld:* & npm start
# Run helloworld on Windows with PowerShell
SET DEBUG=helloworld:* | npm start
# Run helloworld on Linux/macOS
DEBUG=helloworld:* npm start
Der DEBUG-Befehl erstellt nützliche Protokolle und resultiert in einer Ausgabe wie der folgenden:
>SET DEBUG=helloworld:* & npm start
> helloworld@0.0.0 start D:\GitHub\express-tests\helloworld
> node ./bin/www
helloworld:server Listening on port 3000 +0ms
Öffnen Sie einen Browser und navigieren Sie zu http://localhost:3000/
, um die standardmäßige Express-Willkommensseite zu sehen.
Wir werden später mehr über die generierte App sprechen, wenn wir zum Artikel über das Erstellen einer Skelettanwendung kommen.
Zusammenfassung
Sie haben jetzt eine Node-Entwicklungsumgebung auf Ihrem Computer eingerichtet, die zur Erstellung von Express-Webanwendungen verwendet werden kann. Sie haben auch gesehen, wie npm verwendet werden kann, um Express in eine Anwendung zu importieren, und auch, wie Sie Anwendungen mit dem Express Application Generator-Tool erstellen und dann ausführen können.
Im nächsten Artikel beginnen wir mit einem Tutorial, um eine vollständige Webanwendung mit dieser Umgebung und den zugehörigen Tools zu erstellen.
Siehe auch
- Downloads-Seite (nodejs.org)
- Installation von Express (expressjs.com)
- Express Application Generator (expressjs.com)
- Verwendung von Node.js mit dem Windows-Subsystem für Linux (docs.microsoft.com)