Hinzufügen von Paketen zum Node.js-Projekt
Node.js verfügt über integrierte Pakete für Aufgaben wie Dateiverwaltung und HTTP-Verarbeitung. Es gibt aber auch eine Vielzahl von Drittanbieterpaketen, die für die npm-Registrierung angeboten werden.
Szenarien und Vorgehensweise zum Auswählen eines npm-Pakets
Als neuer Entwickler bzw. neue Entwicklerin bei Tailwind Traders sollen Sie einem Projekt Funktionen hinzufügen. Sie könnten den Code zwar selbst schreiben, entscheiden sich aber dafür, ein vorhandenes Paket zu verwenden. Diese Entwicklungsentscheidung ist ein gängiges Szenario.
Wann sollten Sie ein vorhandenes Paket verwenden? Hier sind einige Faktoren zu beachten:
- Qualität: Die Verwendung bewährter Pakete stellt beispielsweise bei Sicherheitsaufgaben sicher, dass Sie sich an bewährte Methoden halten und Grenzfälle abdecken.
- Effizienz: Das Schreiben von eigenem Code kostet Zeit. Die Verwendung vorhandener Pakete ist deutlich weniger aufwendig.
- Wartung: Bibliotheken benötigen Updates und Fehlerbehebungen. Es ist oft effizienter, dies an ein Open-Source-Team zu delegieren.
Entwickler*innen können Pakete in verschiedenen Quellen suchen und von dort herunterladen. Hierzu zählen etwa:
- Registrierungen: Registrierungen sind Sammlungen von Paketen (beispielsweise die npm-Registrierung). Sie können auch Ihre eigene Registrierung hosten.
- Repositorys: Sie können Pakete direkt über eine GitHub-URL installieren.
- Dateien: Pakete können aus einem lokalen Ordner oder aus einer gezippten Datei installiert werden, was beim Testen eigener Pakete hilfreich ist.
- Verzeichnisse: Die Installation ist auch direkt aus einem Verzeichnis möglich.
Überprüfen Sie nach dem Auswählen eines Pakets dessen Abhängigkeiten, um folgende Faktoren zu berücksichtigen:
- Größe: Mehr Abhängigkeiten führen zu mehr Speicherbedarf. Der Speicherbedarf ist relevant, wenn Bandbreiten- oder Hardwareeinschränkungen bestehen. Denken Sie daran, dass beim Installieren eines Pakets auch die Abhängigkeiten installiert werden. Das kann dazu führen, dass der Ordner „node_modules“ viel Speicherplatz beansprucht.
- Beliebtheit: Die Beliebtheit eines Pakets kann ein Anhaltspunkt für dessen Qualität sein.
- Lizenzierung: Wenn Sie Ihre Software verkaufen möchten, stellen Sie sicher, dass alle Abhängigkeitspakete für Wiederverwendung und Weiterverkauf lizenziert sind.
- Aktive Wartung: Vermeiden Sie veraltete oder selten aktualisierte Abhängigkeiten.
Weitere Informationen zu einem Paket finden Sie auf der Paketseite in npm sowie im zugehörigen GitHub-Repository. Sie können auch den folgenden npm-Befehl verwenden: npm view <package name>
.
So installieren Sie ein Paket
Verwenden Sie zum Installieren eines Pakets die npm CLI, die zusammen mit Node.js installiert wird. Mithilfe des Befehls npm install
im Terminal können Sie das Paket Ihrem Node.js-Projekt hinzufügen.
npm install <name of package>
Wenn Sie den Befehl install
ausführen, stellt das Befehlszeilentool eine Verbindung mit einer globalen Registrierung her, ruft den Code ab und platziert ihn im Ordner node_modules
im Stammverzeichnis Ihres Projekts.
Im Anschluss finden Sie einige allgemeine Optionen für den Installationsbefehl:
- Verwenden Sie für reine Entwicklungspakete die Option
--save-dev
. Diese Option bewirkt die Speicherung in der EigenschaftdevDependencies
vonpackage.json
. Diese Abhängigkeiten sind in der Regel Tools zum Formatieren, Linten, Erstellen, Transpilieren und Testen. - Verwenden Sie für reine Produktionspakete die Option
--production
. Diese Option schließt reine Entwicklungspakete aus. - Verwenden Sie für global verfügbare Tools die Option
-g
. Befehlszeilentools werden häufig nicht in Projekte importiert, sondern global installiert. Globale Abhängigkeiten werden in einem systemweiten Verzeichnis installiert, nicht auf der Projektebenenode_modules
. Globale Pakete können Ihr System allerdings unübersichtlich machen. Der Befehlnpx
löst dies, indem Pakete nur vorübergehend installiert werden. Verwenden Sienpx <name>
, um ein Paket abzurufen, auszuführen und anschließend wieder zu entfernen.
Nach der Installation sieht Ihr Projektverzeichnis wie im folgenden Beispiel aus:
package.json
node_modules/
<name of dependency>/
<files included in the dependency>
src
index.js
npm CLI-Befehle
Im npm-Befehlszeilentool steht eine ganze Reihe von Befehlen zur Verfügung, die Sie bei Aufgaben wie dem Installieren von Paketen, dem Erstellen von Paketen und dem Initialisieren von Node.js-Projekten unterstützen.
npm-Befehle sind in folgende Kategorien unterteilt:
- Verwalten von Abhängigkeiten: Befehle zum Installieren, Aktualisieren und Entfernen von Paketen
- Ausführen von Skripts: Befehle zum Verwalten von Entwicklungsflüssen wie Testen und Codeerstellung
- Konfigurieren der Umgebung: Befehle zum Einrichten von Installationspfaden und Paketquellen
- Erstellen und Veröffentlichen von Paketen: Befehle zum Erstellen und Veröffentlichen von Paketen.
Wenn eine ausführliche Liste aller Befehle angezeigt werden soll, geben Sie den folgenden Befehl im Terminal ein:
npm --help
Überprüfen der Installation
Verwenden Sie npm list
, um den Inhalt des Ordners package.json
anzuzeigen. Der Befehl npm list
führt alle im Verzeichnis node_modules
installierten Pakete auf. Bei jedem der installierten Pakete wurden auch alle zugehörigen Abhängigkeiten installiert.
Da der Befehl list
zu einer langen und unübersichtlichen Liste führen kann, haben Sie die Möglichkeit, Pakete mithilfe des Auflistungsbefehls in verschiedenen Tiefen aufzulisten. Mit einem depth-Wert von 0
führt der Befehl dieselben Inhalte auf, die im dependencies
-Bereich der Datei „package.json“ enthalten sind.
npm list --depth=<depth>
Wenn Sie das Jest-Paket installiert haben, erzeugt npm list --depth=0
eine Ausgabe wie die folgende:
├── jest@26.0.1
Bereinigen von Abhängigkeiten
Wenn Sie ein Paket nicht mehr benötigen, entfernen Sie es. Durch Entfernen einer Abhängigkeit bleibt Ihr Projekt übersichtlich und beansprucht weniger Platz. Diese Bereinigung ist besonders bei Single-Page-Webanwendungen (SPAs) wie Angular, React oder Vue wichtig. Diese Apps bündeln und komprimieren Code in einer Datei, die für den Browser bereitgestellt wird. Je größer die Datei, desto länger der Ladevorgang, was für Benutzer*innen abschreckend sein kann.
Es gibt zwei Möglichkeiten, Abhängigkeiten zu bereinigen, die Sie nicht mehr benötigen:
- Deinstallieren: Führen Sie zum Deinstallieren eines Pakets den Befehl
npm uninstall <name of dependency>
aus. Dieser Befehl entfernt das Paket aus der Manifestdateipackage.json
sowie aus dem Ordner „node_modules“. - Löschen: Verwenden Sie
npm prune
, um alle nicht aufgelisteten Abhängigkeiten ausnode_modules
zu entfernen. Löschen ist nützlich, wenn Sie mehrere Abhängigkeiten entfernen möchten, ohne jeweils eine Deinstallation durchzuführen. So führen Sie den Löschvorgang durch- Löschen Sie die Einträge aus „dependencies“ oder aus „devDependencies“ in
package.json
. run npm prune
.
- Löschen Sie die Einträge aus „dependencies“ oder aus „devDependencies“ in