Abhängigkeiten ermöglichen eine effektive Wiederverwendung von Code. Stellen Sie sicher, dass Sie wissen, wie Sie sie in Ihren Node-Projekten verwalten.
Eine Abhängigkeit ist ein Teil des Codes – eine Bibliothek, ein Modul oder ein Paket –, den ein Projekt benötigt, um ordnungsgemäß zu funktionieren.
In Node.js sind Abhängigkeiten und DevDependencies Kategorien von Paketen, die Sie in Ihrer package.json-Datei definieren können, um die Abhängigkeiten Ihres Projekts zu verwalten. Entdecken Sie ihre Unterschiede und lernen Sie, wie Sie sie in Ihren Projekten nutzen können.
Regelmäßige Abhängigkeiten in einem npm-Projekt
Reguläre Abhängigkeiten – oder einfach Abhängigkeiten – sind Pakete, die Ihre Anwendung benötigt, um zur Laufzeit und in Produktionsumgebungen wie vorgesehen zu funktionieren.
Zu den Abhängigkeiten können gehören:
- Externe Bibliotheken, die vorgefertigte Funktionen bieten, wie z. B. lodash.
- Frameworks, die eine Grundlage oder Struktur für die Erstellung von Anwendungen bieten, z. B. Express oder React.
- Datenbanktreiber wie MongoDB oder sqlite3.
- Pakete, die bei netzwerkbezogenen Aufgaben helfen, wie Axios oder Socket.io.
Wenn Sie beispielsweise eine bauen CRUD-API mit Express.js, äußern wird eine Ihrer Abhängigkeiten sein, da Ihr Server sie zum Funktionieren benötigt.
Um die Laufzeitabhängigkeiten zu installieren, können Sie einen Paketmanager wie verwenden npm, der Node Package Manager, oder Garn.
Abhängigkeiten sind unter dem Abhängigkeitsobjekt in einer package.json-Datei vorhanden. Das Abhängigkeitsobjekt speichert die Namen und Versionen der Pakete.
Um ein Paket als Abhängigkeit mithilfe von NPM zu installieren, führen Sie den folgenden Befehl aus:
npm installieren
Der obige Befehl installiert das Paket und registriert es als Abhängigkeit Ihres Projekts in package.json:
// package.json
„Abhängigkeiten“: {
"Paketnamen": „^Paketversion“,
}
Wenn Sie ein Projekt aus einem webbasierten Repository klonen, können Sie die Abhängigkeiten installieren, indem Sie den folgenden Befehl ausführen:
npm installieren
Wenn Sie den obigen Befehl ausführen, liest Ihr Paketmanager die package.json Datei und installiert die angegebenen Abhängigkeiten und devDependencies aus der Paketregistrierung.
Entwicklungsabhängigkeiten und deren Verwendung
Entwicklungsabhängigkeiten – oder devDependencies – sind Pakete, die Ihre Anwendung nur während des Entwicklungsprozesses benötigt. Mit anderen Worten: Sie werden in der Produktion nicht benötigt.
DevDependencies können Folgendes umfassen:
- Frameworks testen, wie Jest oder Mocha.
- Testläufer wie Chai.
- Linters und Formatter wie Eslint.
- Dokumentationstools wie Swagger.
Ein häufiges Beispiel für eine DevDependency ist das Nodemon-Paket, das Ihren Server neu startet, wenn es Änderungen in Ihren Skripten erkennt.
Sie können DevDependencies unter definieren devDependencies Objekt in einem package.json Datei. Dieses Objekt speichert die Namen und Versionen der Pakete.
Sie können ein Paket als DevDependency installieren, indem Sie diesen Befehl ausführen:
npm installieren --save-dev
Alternativ können Sie ein Paket als devDependency installieren, indem Sie diesen Befehl ausführen:
npm install -D
Der obige Befehl installiert und registriert das Paket in Ihrem package.json Datei, etwa so:
// package.json
„devDependencies“: {
"Paketnamen": „^Paketversion“
}
Wenn Sie ein Projekt aus einem webbasierten Repository klonen, führen Sie das aus npm installieren Der Befehl installiert auch die devDependencies.
Allerdings führt das Ausführen des Befehls mit dem Produktion Flag installiert nur die Abhängigkeiten.
Zum Beispiel:
npm install --produktion
Wenn Sie den obigen Befehl ausführen, liest Ihr Paketmanager die package.json Datei und installiert die Abhängigkeiten Ihrer Anwendung aus der Paketregistrierung.
Alternativ können Sie die festlegen NODE_ENV variabel zu „Produktion” um die gleichen Ergebnisse zu erzielen.
Andere Arten von Abhängigkeiten
Neben Abhängigkeiten und DevDependencies kategorisiert Node.js auch Pakete als peerDepenecies Und optionale Abhängigkeiten.
Peer-Abhängigkeiten
Peer-Abhängigkeiten sind Abhängigkeiten, die ein Paket verwendet, wenn es erwartet, dass eine bestimmte Version oder eine kompatible Version eines anderen Pakets in der Anwendung vorhanden ist, die es verwendet.
Der Zweck von Peer-Abhängigkeiten besteht darin, sicherzustellen, dass ein Paket korrekt mit seinen Abhängigkeiten funktioniert und Konflikte oder Kompatibilitätsprobleme vermieden werden.
Bei npm-Versionen vor Version 7 werden Peer-Abhängigkeiten nicht automatisch installiert. Vielmehr muss der Code, der das Paket enthält, es als Abhängigkeit enthalten. Wenn das Paket es nicht enthält, gibt npm eine Warnung aus.
Sie existieren unter der peerAbhängigkeiten Objekt in der package.json-Datei:
„peerDependencies“: {
"Paket": „^Version“
}
Optionale Abhängigkeiten
Optionale Abhängigkeiten sind Pakete, die für die Kernfunktionalität eines Projekts nicht unbedingt erforderlich sind, aber bei Verfügbarkeit dessen Fähigkeiten erweitern können.
Da optionale Abhängigkeiten für die ordnungsgemäße Funktion des Projekts nicht erforderlich sind, können Sie diese bei der Installation weglassen.
Wenn Sie den folgenden Befehl ausführen, werden optionale Abhängigkeiten während des Installationsvorgangs übersprungen:
npm install --omit=optional
Sie existieren unter der optionale Abhängigkeiten Objekt in der package.json-Datei:
„optionale Abhängigkeiten“: {
"Paket": „^Version“
}
Kategorien erleichtern die Verwaltung Ihrer Abhängigkeiten
Das effektive Verstehen, Verwalten und Kategorisieren von Abhängigkeiten trägt dazu bei, eine klare Trennung zwischen den für die Produktion erforderlichen Paketen und den nur während der Entwicklung benötigten Paketen sicherzustellen.
Diese Unterscheidung unterstützt ein effizientes Abhängigkeitsmanagement, eine ordnungsgemäße Bündelung und eine optimierte Bereitstellung Ihres Projekts.