Hinzufügen von Paketen zum Node.js-Projekt

Abgeschlossen

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 Eigenschaft devDependencies von package.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 Projektebene node_modules. Globale Pakete können Ihr System allerdings unübersichtlich machen. Der Befehl npx löst dies, indem Pakete nur vorübergehend installiert werden. Verwenden Sie npx <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 Manifestdatei package.json sowie aus dem Ordner „node_modules“.
  • Löschen: Verwenden Sie npm prune, um alle nicht aufgelisteten Abhängigkeiten aus node_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
    1. Löschen Sie die Einträge aus „dependencies“ oder aus „devDependencies“ in package.json.
    2. run npm prune.