02 – Node.js-Grundlagen 🟢
JavaScript verlässt den Browser – und wird zum Server
🎯 1. Was ist Node.js?
Node.js ist eine Laufzeitumgebung, mit der du JavaScript außerhalb des Browsers ausführen kannst. Damit wird JavaScript zur Server-Sprache.
Während das Frontend (HTML, CSS, JS) im Browser läuft, führt Node.js JavaScript direkt auf deinem Computer oder einem Server aus – ohne Webseite, ohne Tab, sondern im Terminal.
🔄 2. Verbindung zum Request-Response-Zyklus
In Kapitel 1 hast du gelernt, dass jede Webanwendung auf dem Request/Response-Zyklus beruht. Mit Node.js kannst du diesen Zyklus selbst programmieren:
- Der Browser sendet einen Request
- Dein Node.js-Server empfängt ihn über das
http-Modul - Du verarbeitest die Anfrage (z. B. Datenbankabfrage)
- Du sendest eine Response zurück (HTML, JSON, Text)
📊 3. Übersicht: Wichtige Befehle & Module
Häufige Terminal-Befehle
| Befehl | Beschreibung |
|---|---|
node -v |
Prüft die installierte Node.js-Version |
node datei.js |
Führt ein Node.js-Skript aus |
cd ordnername |
Wechselt in einen Ordner |
mkdir mein-projekt |
Erstellt einen neuen Ordner |
Wichtige integrierte Module
| Modul | Beschreibung | Beispiel |
|---|---|---|
fs |
Dateisystem – lesen/schreiben | const fs = require('fs'); |
http |
Einfacher Webserver | const http = require('http'); |
path |
Pfad-Manipulation | const path = require('path'); |
🎯 4. Einstieg & W3Schools
In diesem Kapitel lernst du, wie du Node.js installierst, Skripte ausführst und mit integrierten Modulen arbeitest.
🔗 W3Schools – Node.js Tutorial
🔗 W3Schools – Erste Schritte
🔗 W3Schools – File System
🧠 5. KI-Prompt-Training
Aufgabe: Formuliere einen Prompt, mit dem du KI um Hilfe bitten würdest,
um den Unterschied zwischen console.log() im Browser und in Node.js zu erklären.
Außerdem: Zeig mir, wie ich mit dem fs-Modul eine Textdatei erstelle –
aber ohne den gesamten Code zu kopieren.
📁 6. Projektordner einrichten – Schritt für Schritt
Damit deine Arbeit übersichtlich bleibt, legst du einen eigenen Ordner für Node.js-Projekte an:
- Öffne den Datei-Explorer
- Gehe auf
C:\ - Erstelle einen neuen Ordner:
C:\NodeJS - Darin erstellst du für jedes Projekt einen Unterordner, z. B.:
C:\NodeJS\01-hallo-server - Speichere alle deine
.js-Dateien dort - Öffne das Terminal in diesem Ordner:
→ Rechtsklick im Ordner → „Terminal hier öffnen“ - Führe dein Skript aus:
node hallo.js
🖨️ 7. Dein erstes Node.js-Skript
Erstelle eine Datei hallo.js im Ordner C:\NodeJS\01-hallo-server\:
// hallo.js
console.log("Hallo vom Server!");
Öffne das Terminal in diesem Ordner und gib ein:
$ node hallo.js
Im Terminal erscheint: Hallo vom Server!
🌐 8. Node.js als Webserver – Request & Response in Aktion
Mit dem integrierten http-Modul kannst du einen echten Webserver bauen –
der genau den Request/Response-Zyklus aus Kapitel 1 umsetzt.
// server.js
const http = require('http');
const server = http.createServer((req, res) => {
// req = Request (vom Client)
// res = Response (zurück an Client)
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hallo vom Node.js-Server!');
});
server.listen(3000, () => {
console.log('Server läuft auf http://localhost:3000');
});
Führe das Skript aus: node server.js
Öffne dann im Browser: http://localhost:3000
req enthält die Anfrage des Browsers.res wird verwendet, um die Antwort zu senden.
📦 9. Module laden mit require()
Mit require() lädst du eingebaute Module wie fs (File System).
// datei-erstellen.js
const fs = require('fs');
fs.writeFile('nachricht.txt', 'Hallo aus Node.js!', (err) => {
if (err) throw err;
console.log('Datei wurde gespeichert!');
});
Nach dem Ausführen findest du nachricht.txt im selben Ordner.
📄 10. Brauche ich package.json?
Die Datei package.json speichert Projektinformationen und externe Bibliotheken (z. B. Express.js).
Für die ersten Schritte brauchst du sie nicht.
Solange du nur mit integrierten Modulen (fs, http) arbeitest, reicht ein einfacher Ordner.
Später, wenn du Express.js installierst, wirst du diese Datei benötigen – dann zeige ich dir, wie du sie erstellst.
💡 11. Warum ist das wichtig für das Backend?
Mit Node.js kannst du:
- Daten dauerhaft speichern (nicht nur im Browser-Cache)
- Mit Dateien und Ordnern arbeiten
- Einen Webserver bauen – und den Request/Response-Zyklus selbst steuern
- Auf sensible Logik zugreifen – ohne sie im Frontend preiszugeben