Einrichten einer Node-Entwicklungsumgebung
Nachdem Sie wissen, wofür Express verwendet wird, zeigen wir Ihnen, wie Sie unter Windows, Linux (Ubuntu) oder macOS eine Node/Express-Entwicklungsumgebung einrichten und testen. Dieser Artikel enthält für jedes dieser Betriebssysteme die Informationen, die Sie benötigen, um mit der Entwicklung von Express-Anwendungen zu beginnen.
| Voraussetzungen: | Sie wissen, wie Sie ein Terminal oder eine Befehlszeile öffnen und Softwarepakete auf dem Betriebssystem Ihres Entwicklungscomputers installieren. |
|---|---|
| Ziel: | Eine Entwicklungsumgebung für Express auf Ihrem Computer einrichten. |
Überblick über die Express-Entwicklungsumgebung
Node und Express machen es sehr einfach, Ihren Computer für die Entwicklung von Webanwendungen einzurichten. Dieser Abschnitt gibt einen Überblick über die benötigten Werkzeuge, erklärt einige der einfachsten Methoden zur Installation von Node (und Express) unter 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 Node.js und dem npm-Paketmanager auf Ihrem lokalen Computer.
Node und der npm-Paketmanager werden gemeinsam über vorbereitete Binärpakete, Installationsprogramme, Paketmanager des Betriebssystems oder aus dem Quellcode installiert (wie in den folgenden Abschnitten gezeigt). Express wird anschließend von npm als Abhängigkeit Ihrer einzelnen Express-Webanwendungen installiert (zusammen mit weiteren Bibliotheken wie Template-Engines, Datenbanktreibern, Authentifizierungs-Middleware, Middleware zur Bereitstellung statischer Dateien usw.).
Für das Local-Library-Tutorial erstellen wir ein Projekt, das dem MVC-Muster folgt. Dabei verwenden wir eine modulare Anwendungsstruktur, die wir bei Bedarf erweitern können.
Hinweis: Anders als bei einigen anderen Web-Frameworks enthält die Entwicklungsumgebung keinen separaten Entwicklungs-Webserver. In Node/Express erstellt und betreibt eine Webanwendung ihren eigenen Webserver!
Zu einer typischen Entwicklungsumgebung gehören außerdem weitere Werkzeuge, darunter Code-Editoren und Versionsverwaltungssysteme wie Git, mit denen Sie verschiedene Versionen Ihres Codes sicher verwalten können. Wir gehen davon aus, dass Sie solche Werkzeuge bereits installiert haben (insbesondere einen Code-Editor).
Welche Betriebssysteme werden unterstützt?
Node kann unter Windows, macOS, vielen Linux-Varianten, Docker usw. ausgeführt werden. Eine vollständige Liste finden Sie auf der Node.js-Seite Downloads. Nahezu jeder PC sollte genügend Leistung haben, um Node während der Entwicklung auszuführen. Express läuft in einer Node-Umgebung und kann daher auf jeder Plattform ausgeführt werden, auf der Node läuft.
In diesem Artikel finden Sie Anleitungen zur Einrichtung unter Windows, macOS und Ubuntu Linux.
Welche Version von Node/Express sollten Sie verwenden?
Es gibt viele Node-Versionen – neuere Versionen enthalten Fehlerbehebungen, unterstützen aktuellere Versionen der ECMAScript-(JavaScript-)Standards und bieten Verbesserungen an den Node-APIs.
Im Allgemeinen sollten Sie die neueste LTS-Version (Long-Term Support) verwenden. Sie ist stabiler als die „Current“-Version, bietet aber dennoch relativ aktuelle Funktionen und wird weiterhin aktiv gepflegt. Verwenden Sie die Current-Version, wenn Sie eine Funktion benötigen, die in der LTS-Version nicht vorhanden ist.
Für Express sollten Sie die neueste LTS-Version von Node verwenden.
Was ist mit Datenbanken und anderen Abhängigkeiten?
Andere Abhängigkeiten wie Datenbanktreiber, Template-Engines, Authentifizierungssysteme usw. sind Teil der Anwendung und werden mithilfe des npm-Paketmanagers in die Anwendungsumgebung eingebunden. Wir behandeln sie in späteren, anwendungsspezifischen Artikeln.
Node installieren
Um Express verwenden zu können, müssen Sie Node.js und den Node Package Manager (npm) auf Ihrem Betriebssystem installieren. Um dies zu vereinfachen, installieren wir zunächst einen Node-Versionsmanager und verwenden ihn dann, um die neuesten Versionen von Node und npm mit Long-Term Support (LTS) zu installieren.
Hinweis: Sie können Node.js und npm auch mit den Installationsprogrammen auf https://nodejs.org/en/ installieren (wählen Sie die Schaltfläche zum Herunterladen der LTS-Version, die als „Recommended for most users“ gekennzeichnet ist). Alternativ können Sie sie über den Paketmanager Ihres Betriebssystems installieren (nodejs.org). Wir empfehlen ausdrücklich einen Node-Versionsmanager, da er die Installation, Aktualisierung und den Wechsel zwischen verschiedenen Versionen von Node und npm erleichtert.
Windows
Für Windows gibt es mehrere Node-Versionsmanager. Hier verwenden wir nvm-windows, das unter Node-Entwicklern einen sehr guten Ruf genießt.
Installieren Sie die neueste Version mit einem Installationsprogramm Ihrer Wahl von der Seite nvm-windows/releases.
Öffnen Sie nach der Installation von nvm-windows eine Eingabeaufforderung (oder PowerShell) und geben Sie den folgenden Befehl ein, um die neueste LTS-Version von Node.js und npm herunterzuladen:
nvm install lts
Führen Sie nvm list aus, um die installierten Versionen anzuzeigen. Wählen Sie für dieses Tutorial Node.js 24 oder höher. Legen Sie die gewählte Version mit dem folgenden Befehl als aktuelle Version fest und ersetzen Sie dabei <version> durch die von Ihnen installierte Version:
nvm use <version>
Hinweis: Wenn Sie Warnungen mit dem Text „Access Denied“ erhalten, müssen Sie diesen Befehl in einer Eingabeaufforderung mit Administratorrechten ausführen.
Mit dem Befehl nvm --help können Sie sich über weitere Befehlszeilenoptionen informieren, etwa zum Auflisten aller verfügbaren Node-Versionen und aller heruntergeladenen NVM-Versionen.
Ubuntu und macOS
Für Ubuntu und macOS gibt es mehrere Node-Versionsmanager.
nvm ist einer der beliebtesten und die ursprüngliche Version, auf der nvm-windows basiert.
Eine Anleitung zur Installation der neuesten nvm-Version über das Terminal finden Sie unter nvm > Install & Update Script.
Öffnen Sie nach der Installation von nvm ein Terminal und geben Sie den folgenden Befehl ein, um die neueste LTS-Version von Node.js und npm herunterzuladen:
nvm install --lts
Der Befehl nvm list zeigt die installierten Versionen und die aktuelle Version an. Wählen Sie für dieses Tutorial Node.js 24 oder höher. Legen Sie die gewählte Version mit dem folgenden Befehl als aktuelle Version fest und ersetzen Sie dabei <version> durch die von Ihnen installierte Version:
nvm use <version>
Mit dem Befehl nvm --help können Sie sich über weitere Befehlszeilenoptionen informieren.
Diese ähneln häufig denen von nvm-windows oder sind mit ihnen identisch.
Ihre Node.js- und npm-Installation testen
Sobald Sie mit nvm eine bestimmte Node-Version ausgewählt haben, können Sie die Installation testen.
Eine gute Möglichkeit dazu ist, im Terminal oder in der Eingabeaufforderung den Befehl zur Anzeige der Version auszuführen und zu prüfen, ob die erwartete Versionszeichenfolge ausgegeben wird:
> node -v
v24.0.0
Der Node.js-Paketmanager npm sollte ebenfalls installiert worden sein und kann auf die gleiche Weise getestet werden:
> npm -v
11.3.0
Die Versionsnummern können von den oben gezeigten abweichen. Wenn beide Befehle funktionieren, können Sie das Local-Library-Projekt konfigurieren.
npm verwenden
Neben Node selbst ist npm das wichtigste Werkzeug für die Arbeit mit Node-Anwendungen.
Mit npm werden alle Pakete (JavaScript-Bibliotheken) abgerufen, die eine Anwendung für Entwicklung, Tests und/oder den Produktivbetrieb benötigt. Außerdem können damit Tests und Werkzeuge ausgeführt werden, die im Entwicklungsprozess verwendet werden.
Hinweis: Aus Sicht von Node ist Express lediglich ein weiteres Paket, das Sie mit npm installieren und anschließend in Ihren eigenen Code importieren müssen.
Sie können npm verwenden, um jedes benötigte Paket einzeln abzurufen. Üblicherweise verwalten wir Abhängigkeiten stattdessen über eine Klartext-Konfigurationsdatei namens package.json. Diese Datei listet alle Angaben zu einem bestimmten JavaScript-„Paket“ auf, darunter den Paketnamen, die Version, die Beschreibung, die zuerst auszuführende Datei, Abhängigkeiten für den Produktivbetrieb und die Entwicklung sowie die unterstützten Node-Versionen. Die Datei package.json sollte alles enthalten, was npm zum Abrufen und Ausführen Ihrer Anwendung benötigt. Wenn Sie eine wiederverwendbare Bibliothek schreiben, können Sie diese Konfiguration verwenden, um Ihr Paket in das npm-Repository hochzuladen und anderen Benutzern zur Verfügung zu stellen.
Das Projekt erstellen
In diesem Abschnitt erstellen wir das Local-Library-Projekt. Am Ende dieses Artikels sind die Paketkonfiguration und die Abhängigkeiten vorbereitet. Den Anwendungscode fügen wir in Eine Grundstruktur für die Website erstellen hinzu.
-
Erstellen Sie ein Verzeichnis für die Anwendung und wechseln Sie hinein:
bashmkdir express-locallibrary-tutorial cd express-locallibrary-tutorial -
Erstellen Sie mit dem npm-Befehl
initeine für ES-Module konfigurierte Datei package.json:bashnpm init --yes --init-type=moduleDie Option
--init-type=modulesetzt"type": "module"anstelle des Standardwerts"type": "commonjs". -
Öffnen Sie package.json in Ihrem Texteditor. npm erstellt eine Datei wie die folgende und verwendet dabei den Verzeichnisnamen als Paketnamen:
json{ "name": "express-locallibrary-tutorial", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "type": "module" } -
Fügen Sie
"private": trueund einengines-Feld auf der obersten Ebene von package.json hinzu, nebennameundversion:json{ "private": true, "engines": { "node": ">=24.0.0" } }Wenn Sie
privateauftruesetzen, verhindern Sie eine versehentliche Veröffentlichung in der npm-Registry. Das Feldenginesgibt die mindestens unterstützte Node.js-Version an. Behalten Sie die erzeugten Felder vorerst bei;scriptsersetzen wir weiter unten. -
Löschen Sie die folgenden Felder, die nur für eine Veröffentlichung in der npm-Registry nützlich sind:
description,main,keywords,author,license.
Abhängigkeiten hinzufügen
Installieren Sie im Verzeichnis express-locallibrary-tutorial die Pakete, die das Projekt benötigt:
npm install debug express http-errors morgan pug
Jedes dieser Pakete hat eine Aufgabe in der Anwendung:
debugzeigt Diagnosemeldungen an, wenn es über die UmgebungsvariableDEBUGaktiviert wird.expressstellt das Web-Framework bereit.http-errorserstellt HTTP-Fehler, beispielsweise einen 404-Fehler für eine unbekannte Route.morganprotokolliert HTTP-Anfragen.pugerzeugt HTML aus Templates.
Der Befehl npm install lädt diese Pakete und ihre Abhängigkeiten in node_modules herunter, trägt sie unter dependencies in package.json ein und erstellt package-lock.json, um die aufgelösten Versionen festzuhalten. Nehmen Sie beide Paketdateien in die Versionsverwaltung auf, damit andere Entwickler die Projektabhängigkeiten installieren können. Wenn bereits eine Lockfile vorhanden ist, installiert npm ci die darin festgehaltenen Versionen.
Hinweis: Es empfiehlt sich, Ihre Abhängigkeitsbibliotheken regelmäßig auf die neuesten kompatiblen Versionen zu aktualisieren. Dies kann im Rahmen einer Continuous-Integration-Konfiguration sogar automatisch oder halbautomatisch erfolgen.
Aktualisierungen der Minor- und Patch-Version einer Bibliothek bleiben in der Regel kompatibel.
Wenn Sie ein Paket installieren, trägt npm dessen Version mit einem vorangestellten ^ in package.json ein (beispielsweise "express": "^5.2.1").
Dadurch können Sie mit dem folgenden Befehl auf die neueste kompatible minor.patch-Version aktualisieren:
npm update --save
Major-Versionen ändern die Kompatibilität.
Bei solchen Aktualisierungen müssen wir package.json und den Code, der die Bibliothek verwendet, manuell anpassen und das Projekt umfassend erneut testen.
Weitere Pakete, etwa den Datenbanktreiber, installieren wir später im Tutorial, wenn wir sie benötigen. Eine breitere Einführung in Entwicklungswerkzeuge und deren Konfiguration finden Sie unter Einführung in eine vollständige Toolchain.
Aufgaben ausführen
Neben Abhängigkeiten können Sie in package.json benannte Skripte definieren und mit npm ausführen. Ersetzen Sie das erzeugte scripts-Objekt einschließlich seines Platzhalterbefehls test durch diese Befehle:
{
"scripts": {
"start": "node server.js",
"devstart": "node --watch server.js"
}
}
Das Skript start führt den Einstiegspunkt der Anwendung aus, server.js. Das Skript devstart verwendet den Watch-Modus von Node, um den Server neu zu starten, wenn sich eine importierte JavaScript-Datei ändert. Im Folgenden probieren wir beide Befehle mit einem einfachen Server aus.
Ihre package.json sollte jetzt wie folgt aussehen. Je nachdem, wann Sie die Pakete installieren, können die Versionsnummern der Abhängigkeiten neuer sein.
{
"name": "express-locallibrary-tutorial",
"version": "1.0.0",
"scripts": {
"start": "node server.js",
"devstart": "node --watch server.js"
},
"type": "module",
"private": true,
"engines": {
"node": ">=24.0.0"
},
"dependencies": {
"debug": "^4.4.3",
"express": "^5.2.1",
"http-errors": "^2.0.1",
"morgan": "^1.12.0",
"pug": "^3.0.4"
}
}
Einen einfachen Server ausprobieren
Um zu prüfen, ob Ihre Umgebung und die npm-Skripte funktionieren, erstellen Sie neben package.json eine Datei namens server.js mit folgendem Inhalt:
import express from "express";
const app = express();
const port = 3000;
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
Der Code importiert Express und erstellt eine Anwendung. Die Methode app.get() beantwortet Anfragen an / mit dem Text „Hello World!“, und app.listen() startet den Server auf Port 3000. Node behandelt server.js als ES-Modul, weil wir "type": "module" in package.json festgelegt haben.
-
Starten Sie den Server in Ihrem Projektverzeichnis mit dem npm-Skript:
bashnpm startIm Terminal sollte die folgende Meldung erscheinen:
Server running at http://localhost:3000/
-
Öffnen Sie
http://localhost:3000/in Ihrem Browser. Sie sollten „Hello World!“ sehen. -
Beenden Sie den Server mit Strg+C und starten Sie ihn anschließend im Watch-Modus:
bashnpm run devstart -
Ändern Sie die Meldung in
res.send()in „Hello again!“ und speichern Sie server.js. Node startet den Server automatisch neu. Laden Sie die Seite erneut, um die aktualisierte Meldung zu sehen. -
Beenden Sie den Server mit Strg+C und löschen Sie die temporäre Datei server.js. Die Server- und Anwendungsdateien des Projekts fügen wir im Kapitel über die Grundstruktur der Website hinzu. Behalten Sie die npm-Skripte bei; sie werden auch diesen Server ausführen.
Generierte und lokale Dateien ignorieren
Erstellen Sie neben package.json eine Datei namens .gitignore mit folgendem Inhalt:
node_modules/ *.log .env
Damit werden installierte Abhängigkeiten, Protokolldateien und lokale Umgebungseinstellungen nicht in die Versionsverwaltung aufgenommen. Die Abhängigkeiten können anhand der Paketdateien erneut installiert werden.
Ihr Projektverzeichnis sollte nun Folgendes enthalten:
express-locallibrary-tutorial ├── .gitignore ├── node_modules │ └── [A lot of installed dependency files] ├── package-lock.json └── package.json
Das ist ein guter Ausgangspunkt für unser Tutorial. Die eigentlichen Anwendungsdateien, etwa JavaScript-Dateien, Templates und ein Stylesheet, fügen wir im Kapitel Grundstruktur der Website hinzu.
Zusammenfassung
Sie verfügen nun über eine Node-Entwicklungsumgebung sowie die Paketkonfiguration, Abhängigkeiten und npm-Skripte für das Local-Library-Projekt. Sie haben die Einrichtung mit einem einfachen Express-Server überprüft. Das Projekt ist bereit für die Anwendungsdateien, die wir im Tutorial hinzufügen werden.
Im nächsten Artikel beginnen wir mit einem Tutorial, in dem wir mit dieser Umgebung und den zugehörigen Werkzeugen eine vollständige Webanwendung erstellen.
Siehe auch
- Seite Downloads (nodejs.org)
- Express installieren (expressjs.com)
- Node.js mit dem Windows-Subsystem für Linux verwenden (docs.microsoft.com)