Tobias Ludwig
Start
ServicesWeb, Apps, Backend und KIPlanerBausteine wählen, Preis sofort sehenBranchen-DemosBeispielseiten für Handwerk, Praxis, GastroReferenzenKundenprojekte mit ErgebnisMatch-CheckPasst das Vorhaben zu mir?Über michWer hinter der Seite steht
ProjekteEigene Software und Open SourceProdukteFertige Apps und WerkzeugeFlutterPlugins und PaketeBlogNotizen aus der Praxis
ToolsKleine Helfer im BrowserTech-WikiWerkzeuge und Stacks, kurz erklärtShowcaseDemos, Shader, Inszenierungen
Support & HilfeHilfe zu laufenden ProjektenMein KontoTickets und Zugänge
Erstgespräch
Erstgespräch buchenKostenloser Kennenlern-CallKontakt schreibenNachricht per Formular
$whoami
Tobias Ludwig
DevOps · Application Manager · Software Engineer
$ls /pages
tobias-ludwig/projekte/kontakt/kalender/impressum/datenschutz/
$git remote
github.com/nexas105
online·next.js 16·hono·postgresql
© 2026 tjl·stay curious_
Ambient OFF
Weiter so… ↓↓ ← → ← → B A
zurück zur Tech-Wiki
Tech-Wiki/Runtimes
N

Node.js

JavaScript-Runtime auf V8 für serverseitige Anwendungen.

·OpenJS·MIT
WebsiteDocsRepository

Übersicht

Was ist es?

Node.js ist die JavaScript-Runtime auf Googles V8-Engine — serverseitiges JS, async-IO, NPM-Ökosystem. Default für JS-Backends, Build-Tools, CLIs.

Quickstart

brew install nvm
nvm install --lts && nvm use --lts
node --version

Oder via Corepack für reproduzierbare Versions: corepack enable.

Typische Patterns

  • ESM statt CJS für neue Projekte: "type": "module" in package.json.
  • Native fetch seit Node 18 — kein node-fetch mehr nötig.
  • node --watch seit 20 statt Nodemon für Dev.
  • AbortController für Timeouts und Cancellation:
    const ctrl = new AbortController()
    setTimeout(() => ctrl.abort(), 5000)
    await fetch(url, { signal: ctrl.signal })
    
  • node:test als Built-in-Test-Runner für simple Cases — kein Jest-Overhead.

Gotchas / Was oft schiefgeht

  • ESM/CJS-Interop: require() in ESM nicht ohne createRequire, import in CJS nur dynamic.
  • Event-Loop-Blocking durch sync-IO oder schwere CPU-Tasks → Worker-Threads oder Streams nutzen.
  • process.env.X ist immer string | undefined — Validierung (Zod) zur Startup-Zeit.
  • Globale Module-State zwischen Requests in Serverless → unerwartete Cache-Bleeds.
  • node_modules riesig — pnpm statt npm/yarn spart massiv Disk.

Wann nicht?

CPU-bound-Workloads (Bildverarbeitung, ML-Inferenz) → Go, Rust, Python. Echte Realtime mit Microsecond-Latenzen → C++/Rust.

Eingesetzt in

Projekte(1)

  • Auth API Service

Produkte(1)

  • Relay

Kategorie

Runtimes

Tags

runtimejs

Aliase

node · nodejs

Slug

node-js