Einführung
Moderne JavaScript-Projekte stehen auf den Schultern tausender kleiner Bibliotheken — Werkzeuge für Bundling, Testing, UI-Komponenten, Datumsfunktionen und vieles mehr. Ein Paketmanager löst das Problem, all diese Abhängigkeiten zu installieren, zu versionieren und reproduzierbar zu halten.
Vor dem Paketmanager
Abschnitt betitelt „Vor dem Paketmanager“Früher wurden externe Bibliotheken über CDN-Links in HTML eingebunden:
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script><script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>Das funktioniert, hat aber Nachteile:
- Versionen müssen manuell im HTML gepflegt werden
- Offline-Entwicklung ist erschwert
- Transitive Abhängigkeiten (Bibliotheken, die selbst Bibliotheken brauchen) müssen manuell aufgelöst werden
- Kein einheitlicher Mechanismus für Build-Tools, Linter, Test-Runner usw.
npm (Node Package Manager) ist der Standardpaketmanager im JavaScript-Ökosystem und wird zusammen mit Node.js installiert. Er besteht aus zwei Teilen:
- CLI — das
npm-Kommando im Terminal - Registry — ein öffentliches Verzeichnis von Paketen unter npmjs.com, das heute über zwei Millionen Pakete enthält
Grundlegende Befehle
Abschnitt betitelt „Grundlegende Befehle“# Alle Abhängigkeiten aus package.json installierennpm install
# Ein einzelnes Paket installieren und in package.json eintragennpm install lodash
# Ein Paket nur für die Entwicklung installierennpm install --save-dev vite
# Ein Paket global installieren (selten nötig)npm install -g typescriptNach npm install liegt der gesamte heruntergeladene Code im Ordner node_modules/. Dieser Ordner wird nicht ins Git-Repository eingecheckt — er wird bei Bedarf aus package.json und package-lock.json wiederhergestellt.