Einrichten einer Node-Entwicklungsumgebung
Jetzt, da Sie wissen, wofür Express verwendet wird, zeigen wir Ihnen, wie Sie eine Node/Express-Entwicklungsumgebung auf Windows, Linux (Ubuntu) oder macOS einrichten und testen können. Für jedes dieser Betriebssysteme bietet dieser Artikel das Notwendige, um mit der Entwicklung von Express-Anwendungen zu beginnen.
Voraussetzungen: | Wissen, wie man ein Terminal oder die Befehlszeile öffnet. Wissen, wie man Softwarepakete auf dem Betriebssystem des Entwicklungscomputers installiert. |
---|---|
Ziel: | Eine Entwicklungsumgebung für Express auf Ihrem Computer einzurichten. |
Ü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 benötigten Tools, 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 Package Manager und (optional) dem Express Application Generator auf Ihrem lokalen Computer.
Node und der npm Package Manager werden zusammen aus vorbereiteten Binärpaketen, Installern, Betriebssystem-Package-Managern 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.).
Mit npm kann auch der Express Application Generator (global) installiert werden, ein praktisches Tool zum Erstellen von Skelett- Express-Webanwendungen, die dem MVC-Muster folgen. Der Anwendungsgenerator ist optional, da Sie dieses Tool nicht benötigen, um Apps zu erstellen, die Express verwenden, oder um Express-Apps mit derselben architektonischen Struktur oder denselben Abhängigkeiten zu erstellen. Wir werden ihn jedoch verwenden, weil er 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 die Webanwendung ihren eigenen Webserver!
Es gibt andere periphere Tools, die Teil einer typischen Entwicklungsumgebung sind, darunter Texteditoren oder IDEs zum Bearbeiten von Code und Source-Control-Management-Tools wie Git zum sicheren Verwalten verschiedener Versionen Ihres Codes. Wir gehen davon aus, dass Sie diese Art von Tools bereits installiert haben (insbesondere einen Texteditor).
Welche Betriebssysteme werden unterstützt?
Node kann auf Windows, macOS, vielen Linux-Distributionen, Docker usw. ausgeführt werden. Eine vollständige Liste finden Sie auf der Node.js Downloads Seite. Fast jeder Personal Computer sollte über die notwendige Leistung verfügen, um Node während der Entwicklung auszuführen. Express läuft in einer Node-Umgebung und kann daher auf jeder Plattform laufen, die Node unterstützt.
In diesem Artikel geben wir Anweisungen zur Einrichtung für Windows, macOS und Ubuntu Linux.
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 sein wird 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 die neueste LTS-Version von Node verwenden.
Was ist mit Datenbanken und anderen Abhängigkeiten?
Andere Abhängigkeiten, wie Datenbanktreiber, Template-Engines, Authentifizierungs-Engines usw. sind Teil der Anwendung und werden mit dem npm Package Manager in die Anwendungsumgebung importiert. Wir werden sie in späteren artikelspezifischen Artikeln besprechen.
Installation von Node
Um Express verwenden zu können, müssen Sie Nodejs und den Node Package Manager (npm) auf Ihrem Betriebssystem installieren. Um dies zu erleichtern, werden wir zuerst einen Node-Version-Manager installieren und diesen dann verwenden, um die neuesten Long Term Supported (LTS)-Versionen von Node und npm zu installieren.
Hinweis: Sie können nodejs und npm auch mit den Installationsprogrammen von https://nodejs.org/en/ installieren (wählen Sie die Schaltfläche zum Herunterladen der LTS-Version, die "Empfohlen für die meisten Benutzer" ist), oder Sie können die Installation mit dem Paketmanager Ihres Betriebssystems (nodejs.org) vornehmen. Wir empfehlen dringend die Verwendung eines Node-Version-Managers, da diese das Installieren, Aktualisieren und Wechseln zwischen bestimmten Versionen von Node und npm erleichtern.
Windows
Es gibt eine Reihe von Version-Managern für Node unter Windows. Hier verwenden wir nvm-windows, das bei Node-Entwicklern sehr angesehen ist.
Installieren Sie die neueste Version mit dem Installationsprogramm Ihrer Wahl von der nvm-windows/releases Seite. Nachdem nvm-windows
installiert ist, öffnen Sie eine Eingabeaufforderung (oder PowerShell) und geben den folgenden Befehl ein, um die neueste LTS-Version von nodejs und npm herunterzuladen:
nvm install lts
Zum Zeitpunkt der Erstellung beträgt die LTS-Version von Nodejs 22.17.0. Sie können diese mit dem folgenden Befehl als aktuelle Version festlegen:
nvm use 22.17.0
Hinweis: Wenn Sie Warnungen "Zugriff verweigert" erhalten, müssen Sie diesen Befehl in einem Prompt mit Administratorrechten ausführen.
Verwenden Sie den Befehl nvm --help
, um andere Befehlszeilenoptionen herauszufinden, wie das Auflisten aller verfügbaren Node-Versionen und aller heruntergeladenen NVM-Versionen.
Ubuntu und macOS
Es gibt eine Reihe von Version-Managern für Node unter Ubuntu und macOS. nvm ist einer der beliebteren und ist die Originalversion, auf der nvm-windows
basiert. Siehe nvm > Install & Update Script für die Terminalanweisungen zur Installation der neuesten Version von nvm.
Nachdem nvm
installiert ist, ö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 der Erstellung beträgt die LTS-Version von Nodejs 22.17.0. Der Befehl nvm list
zeigt die heruntergeladenen Versionen und die aktuelle Version an. Sie können eine bestimmte Version mit dem unten stehenden Befehl als aktuelle Version festlegen (derselbe wie für nvm-windows
):
nvm use 22.17.0
Verwenden Sie den Befehl nvm --help
, um andere Befehlszeilenoptionen herauszufinden. Diese sind oft ähnlich oder gleich denen, die von nvm-windows
angeboten werden.
Testen Ihrer Nodejs- und npm-Installation
Sobald Sie nvm
so eingestellt haben, dass eine bestimmte Node-Version verwendet wird, können Sie die Installation testen. Eine gute Möglichkeit, dies zu tun, ist die Verwendung des "version"-Befehls in Ihrem Terminal/Eingabeaufforderung und die Überprüfung, ob die erwartete Versionszeichenfolge zurückgegeben wird:
> node -v
v22.17.0
Der Nodejs Package Manager npm sollte ebenfalls installiert worden sein und kann auf die gleiche Weise getestet werden:
> npm -v
10.9.2
Als etwas spannenderer Test erstellen wir einen sehr einfachen "reinen Node"-Server, der "Hello World" im Browser ausgibt, wenn Sie die richtige URL im Browser aufrufen:
-
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 abhört. Das Skript gibt dann eine Nachricht in der Konsole aus, auf welcher Browser-URL Sie den Server testen können. DiecreateServer()
-Funktion nimmt als Argument eine Callback-Funktion, die bei Empfang einer HTTP-Anfrage aufgerufen wird — dies 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 tut! Wir werden unseren Code genauer erklären, sobald wir mit Express arbeiten!
-
Starten Sie den Server, indem Sie in derselben Verzeichnisebene wie Ihre
hellonode.js
-Datei in Ihrem Befehlszeilenprompt navigieren undnode
zusammen mit dem Skriptnamen aufrufen, wie folgt:bashnode hellonode.js
Sobald der Server startet, wird eine Konsolenausgabe angezeigt, die die IP-Adresse angibt, unter 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 Zeichenfolge "Hello World" anzeigen.
Verwenden von npm
Neben Node selbst ist npm das wichtigste Tool für die Arbeit mit Node-Anwendungen. npm
wird verwendet, um alle Pakete (JavaScript-Bibliotheken) zu beziehen, die eine Anwendung für Entwicklung, Testen und/oder Produktion benötigt, und kann auch verwendet werden, um Tests und Tools im Entwicklungsprozess auszuführen.
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 alle benötigten Pakete separat zu beziehen. Typischerweise verwalten wir jedoch Abhängigkeiten mithilfe einer einfachen Textdefinitionsdatei namens package.json. Diese Datei listet alle Abhängigkeiten für ein bestimmtes JavaScript-"Paket" auf, einschließlich des Paketnamens, der Version, Beschreibung, der initialen auszuführenden Datei, Produktionsabhängigkeiten, Entwicklungsabhängigkeiten, der Versionen von Node, mit denen es funktioniert, usw. Die package.json-Datei sollte alles enthalten, was npm benötigt, um Ihre Anwendung abzurufen und auszuführen (wenn Sie eine wiederverwendbare Bibliothek schreiben, könnten Sie diese Definition verwenden, um Ihr Paket im npm-Repository hochzuladen und es anderen Benutzern zur Verfügung zu stellen).
Abhängigkeiten hinzufügen
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 nutzen.
Hinweis: Hier zeigen wir die Anweisungen, um das Express-Paket zu beziehen und zu installieren. Später zeigen wir, wie dieses Paket und andere bereits für uns mit dem Express Application Generator spezifiziert wurden. Dieser Abschnitt wird bereitgestellt, weil es nützlich ist zu verstehen, wie npm funktioniert und was vom Anwendungsgenerator erstellt wird.
-
Erstellen Sie zunächst 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 einzugeben, darunter den Namen und die Version Ihrer Anwendung sowie den Namen der initialen Einstiegspunktdatei (standardmäßig ist dies index.js). Akzeptieren Sie vorerst einfach die Standardwerte:bashnpm init
Wenn Sie die package.json-Datei anzeigen (
cat package.json
), sehen Sie die akzeptierten Standardwerte, die mit der Lizenz enden.json{ "name": "myapp", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "description": "" }
-
Installieren Sie jetzt Express im
myapp
-Verzeichnis und speichern Sie es in der Abhängigkeitsliste Ihrer package.json-Datei:bashnpm install express
Der Abhängigkeitsbereich Ihrer package.json enthält nun Express und erscheint am Ende der package.json-Datei.
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": "^5.1.0" } }
-
Um die Express-Bibliothek zu nutzen, rufen Sie die
require()
-Funktion in Ihrer index.js-Datei auf, um sie in Ihrer Anwendung zu integrieren. Erstellen Sie diese Datei jetzt im Stammverzeichnis des "myapp"-Anwendungsverzeichnisses und geben Sie ihr den 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. Dies 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 druckt, welche Browser-URL Sie verwenden können, um den Server zu testen. Dieapp.get()
-Funktion reagiert nur auf HTTP-GET
-Anfragen mit dem angegebenen URL-Pfad ('/'), indem sie eine Funktion aufruft, um unsere Hello World!-Nachricht zu senden.Hinweis: Die Backticks in
`Example app listening on port ${port}!`
erlauben es uns, den Wert von$port
in den String zu interpolieren. -
Sie können den Server starten, indem Sie node mit dem Skript in Ihrer Eingabeaufforderung aufrufen:
bashnode index.js
Sie werden die folgende Konsolenausgabe sehen:
Example app listening on port 3000
-
Gehen Sie zur URL
http://localhost:3000/
. Wenn alles funktioniert, sollte der Browser die Zeichenfolge "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 Benutzer Ihres Pakets 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 zur package.json Ihrer Anwendung hinzugefügt:
{
"devDependencies": {
"eslint": "^9.30.1"
}
}
Hinweis: "Linter" sind Tools, die statische Analysen an Software durchführen, um die Einhaltung/Nichteinhaltung einer Reihe von Coding-Best-Practices zu erkennen und zu melden.
Aufgaben ausführen
Neben dem Definieren und Abrufen von Abhängigkeiten können Sie auch benannte Skripts 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 das Ausführen von Tests und Teilen der Entwicklungs- oder Build-Toolchain zu automatisieren (z.B. das Ausführen von Tools zur Minimierung von JavaScript, Verkleinern von Bildern, LINT/Analyse Ihres Codes usw.).
Hinweis: Task-Runner wie Gulp und Grunt können ebenfalls verwendet werden, um Tests und andere externe Tools auszuführen.
Zum Beispiel, um ein Skript zu definieren, um die im vorhergehenden Abschnitt spezifizierte eslint Entwicklungsabhängigkeit auszuführen, könnten wir der package.json-Datei unseres Projekts den folgenden Skriptblock hinzufügen (unter der Annahme, dass sich der Quellcode unserer Anwendung in einem Ordner /src/js
befindet):
{
"scripts": {
// …
"lint": "eslint src/js"
// …
}
}
Um das etwas weiter zu erklären, eslint src/js
ist ein Befehl, den wir in unser Terminal / Eingabeaufforderung eingeben könnten, um eslint
auf JavaScript-Dateien auszuführen, die im src/js
-Verzeichnis innerhalb unseres App-Verzeichnisses enthalten sind. Wenn wir das oben in unsere package.json-Datei der App aufnehmen, erhalten wir eine Abkürzung für diesen Befehl — lint
.
Wir könnten dann eslint mit npm durch den Aufruf von:
npm run-script lint
# OR (using the alias)
npm run lint
Dieses Beispiel mag nicht kürzer aussehen als der Originalbefehl, aber Sie können viel größere Befehle in Ihre npm-Skripte einfügen, einschließlich Ketten mehrerer Befehle. Sie könnten ein einziges npm-Skript identifizieren, das all Ihre Tests auf einmal durchführt.
Installation des Express Application Generators
Das Express Application Generator-Tool generiert ein Express-Anwendungs-"Skelett". Installieren Sie den Generator mit npm wie gezeigt:
npm install express-generator -g
Hinweis:
Möglicherweise müssen Sie diese Zeile mit sudo
auf Ubuntu oder macOS voranstellen. Das -g
-Flag installiert das Tool global, sodass Sie es von überall 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 folgt aus:
express helloworld
Hinweis:
Es sei denn, Sie verwenden eine alte Nodejs-Version (< 8.2.0), können Sie alternativ die Installation überspringen und express-generator mit npx ausführen. Dies hat den gleichen Effekt wie das Installieren und dann Ausführen von express-generator
, installiert jedoch 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 zu sehen:
express --help
Der Generator wird die neue Express-App in einem Unterordner Ihres aktuellen Standorts erstellen und den Build-Fortschritt auf der Konsole anzeigen. Nach 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 enthalten. 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 mithilfe von npm wie gezeigt:
cd helloworld
npm install
Führen Sie dann die App aus (die Befehle sind leicht anders 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 erzeugt nützliche Log-Ausgaben, die in etwa wie folgt aussehen:
>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 Standard-Express-Willkommensseite zu sehen.
Wir werden mehr über die generierte App sprechen, wenn wir zu dem Artikel über das Erstellen einer Skelettanwendung kommen.
Zusammenfassung
Sie haben jetzt eine Node-Entwicklungsumgebung auf Ihrem Computer eingerichtet, die zum Erstellen von Express-Webanwendungen verwendet werden kann. Sie haben auch gesehen, wie npm verwendet werden kann, um Express in eine Anwendung zu importieren, und wie Sie Anwendungen mit dem Express Application Generator-Tool erstellen und anschließend ausführen können.
Im nächsten Artikel beginnen wir mit einem Tutorial zur Erstellung einer vollständigen Webanwendung unter Verwendung dieser Umgebung und der zugehörigen Tools.
Siehe auch
- Downloads Seite (nodejs.org)
- Express installieren (expressjs.com)
- Express Application Generator (expressjs.com)
- Node.js mit Windows-Subsystem für Linux verwenden (docs.microsoft.com)