02 – Node.js-Grundlagen 🟢

JavaScript verlässt den Browser – und wird zum Server

Node.js im Kontext von Frontend und Backend Frontend HTML CSS JavaScript Läuft im Browser Backend Node.js Datenbank APIs Läuft auf dem Server
Mit Node.js wird JavaScript zur Serversprache – ideal für modernes Backend.

🎯 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.

💡 Vorteil: Du nutzt dieselbe Sprache (JavaScript) für Frontend und Backend – kein Wechsel nötig!

🔄 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:

📊 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:

  1. Öffne den Datei-Explorer
  2. Gehe auf C:\
  3. Erstelle einen neuen Ordner: C:\NodeJS
  4. Darin erstellst du für jedes Projekt einen Unterordner, z. B.:
    C:\NodeJS\01-hallo-server
  5. Speichere alle deine .js-Dateien dort
  6. Öffne das Terminal in diesem Ordner:
    → Rechtsklick im Ordner → „Terminal hier öffnen
  7. Führe dein Skript aus: node hallo.js
💡 Tipp: Dieser Ordner ist unabhängig von XAMPP – Node.js braucht keinen Webserver wie Apache, weil es selbst ein Server sein kann.

🖨️ 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!

⚠️ Hinweis: Die Ausgabe erscheint im Terminal, nicht im Browser! Node.js läuft auf dem Server – nicht in der Webseite.

🌐 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

🔗 W3Schools – Node.js HTTP

💡 Merke: 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:

💡 Merke: Alles, was nicht im Browser passieren darf, gehört ins Backend – und Node.js macht das mit JavaScript möglich.

🎓 Jetzt verstehst du, wie Node.js den Request/Response-Zyklus umsetzt!

→ Zu Modul 03: Express.js