Mehrere npm-Abhängigkeitspaketverwaltungsfreigaben
Dieser Artikel stellt Ihnen hauptsächlich verschiedene Arten der npm-Abhängigkeitspaketverwaltung vor, die Sie kennen sollten. npm ist der Paketmanager in node.js und ein Befehlszeilentool. Der Artikel stellt ihn detailliert anhand von Beispielcode vor Sie können es als Referenz verwenden und dem Editor folgen, um gemeinsam zu lernen.
npm unterstützt derzeit die folgenden Arten der Abhängigkeitspaketverwaltung:
Abhängigkeiten
devDependencies
peerDependencies
optionalDependencies
bundledDependencies / bundleDependencies
If Wenn Sie wissen, welche Art von Abhängigkeitsverwaltung Sie verwenden möchten, können Sie sie in das entsprechende Abhängigkeitsobjekt in package.json einfügen, z. B.:
"devDependencies": { "fw2": "^0.3.2", "grunt": "^1.0.1", "webpack": "^3.6.0" }, "dependencies": { "gulp": "^3.9.1", "hello-else": "^1.0.0" }, "peerDependencies": { }, "optionalDependencies": { }, "bundledDependencies": []
Sehen wir uns das einzeln an:
Abhängigkeiten
Anwendungsabhängigkeiten oder Geschäftsabhängigkeiten sind unsere am häufigsten verwendeten Abhängigkeitspaketverwaltungsobjekte! Es wird verwendet, um die externen Pakete anzugeben, von denen die Anwendung abhängt. Diese Abhängigkeiten sind für die normale Ausführung nach der Veröffentlichung der Anwendung erforderlich, umfassen jedoch keine Pakete, die beim Testen oder beim lokalen Packen verwendet werden. Zur Installation können Sie den folgenden Befehl verwenden:
npm install packageName --save
dependencies ist ein einfaches JSON-Objekt, einschließlich des Paketnamens und der Paketversion, wobei die Paketversion eine Versionsnummer oder eine URL-Adresse sein kann. Zum Beispiel:
{ "dependencies" :{ "foo" : "1.0.0 - 2.9999.9999", // 指定版本范围 "bar" : ">=1.0.2 <2.1.2", "baz" : ">1.0.2 <=2.3.4", "boo" : "2.0.1", // 指定版本 "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0", "asd" : "http://asdf.com/asdf.tar.gz", // 指定包地址 "til" : "~1.2", // 最近可用版本 "elf" : "~1.2.3", "elf" : "^1.2.3", // 兼容版本 "two" : "2.x", // 2.1、2.2、...、2.9皆可用 "thr" : "*", // 任意版本 "thr2": "", // 任意版本 "lat" : "latest", // 当前最新 "dyl" : "file:../dyl", // 本地地址 "xyz" : "git+ssh://git@github.com:npm/npm.git#v1.0.27", // git 地址 "fir" : "git+ssh://git@github.com:npm/npm#semver:^5.0", "wdy" : "git+https://isaacs@github.com/npm/npm.git", "xxy" : "git://github.com/npm/npm.git#v1.0.27", } }
devDependencies
Entwicklungsumgebungsabhängigkeiten, an zweiter Stelle nach der Häufigkeit der Verwendung von Abhängigkeiten! Seine Objektdefinition ist dieselbe wie bei Abhängigkeiten, mit der Ausnahme, dass die darin enthaltenen Pakete nur in der Entwicklungsumgebung und nicht in der Produktionsumgebung verwendet werden. Bei diesen Paketen handelt es sich normalerweise um Unit-Tests oder Verpackungstools wie gulp, grunt, webpack, moca, Coffee usw., die verwendet werden können. Der folgende Befehl wird zur Installation verwendet:
npm install packageName --save-dev
Zum Beispiel:
{ "name": "ethopia-waza", "description": "a delightfully fruity coffee varietal", "version": "1.2.3", "devDependencies": { "coffee-script": "~1.6.3" }, "scripts": { "prepare": "coffee -o lib/ -c src/waza.coffee" }, "main": "lib/waza.js" }
Das Vorbereitungsskript wird vor der Veröffentlichung ausgeführt, sodass Benutzer dies nicht tun Sie müssen sich beim Kompilieren des Projekts darauf verlassen. Im Entwicklungsmodus wird beim Ausführen von npm install auch das Vorbereitungsskript ausgeführt, das während der Entwicklung problemlos getestet werden kann.
Verstehen Sie an dieser Stelle den Unterschied zwischen --save und --save-dev?
peerDependencies
Gleiche Abhängigkeiten oder Peer-Abhängigkeiten werden verwendet, um die Hostversion anzugeben, mit der das aktuelle Paket (d. h. das von Ihnen geschriebene Paket) kompatibel ist. Wie ist es zu verstehen? Stellen Sie sich vor, wir schreiben ein Gulp-Plugin, aber Gulp hat mehrere Hauptversionen. Zu diesem Zeitpunkt können wir peerDependencies verwenden, um Folgendes anzugeben:
{ "name": "gulp-my-plugin", "version": "0.0.1", "peerDependencies": { "gulp": "3.x" } }
Wann Wenn andere unser Plug-in verwenden, teilt peerDependencies dem Benutzer klar mit, welche Hostversion des Plug-ins Sie installieren müssen.
Normalerweise verwenden wir viele Plug-Ins eines Hosts (z. B. gulp) in einem Projekt. Wenn bei der Ausführung von npm install eine Host-Inkompatibilität vorliegt, gibt die CLI eine entsprechende Fehlermeldung aus Wir, zum Beispiel:
npm ERR! peerinvalid The package gulp does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer gulp-cli-config@0.1.3 wants gulp@~3.1.9 npm ERR! peerinvalid Peer gulp-cli-users@0.1.4 wants gulp@~2.3.0
führen den Befehl npm install gulp-my-plugin --save-dev aus, um unser Plug-in zu installieren:
├── gulp-my-plugin@0.0.1 └── gulp@3.9.1
OK, schön!
Beachten Sie, dass npm 1 und npm 2 automatisch dieselben Abhängigkeiten installieren. npm 3 wird nicht mehr automatisch installiert und eine Warnung generiert! Das manuelle Hinzufügen von Abhängigkeiten in der Datei package.json kann gelöst werden.
optionale Abhängigkeiten
Optionale Abhängigkeiten, die das Projekt auch dann noch ausführen kann, wenn die Installation fehlschlägt oder Sie möchten, dass npm weiterhin ausgeführt wird optionale Abhängigkeiten. Darüber hinaus überschreibt optionalDependencies das gleichnamige Abhängigkeitspaket in Abhängigkeiten. Schreiben Sie es daher nicht an beiden Stellen.
Ein optionales Abhängigkeitspaket ist beispielsweise wie ein Plug-In des Programms. Wenn es vorhanden ist, wird die vorhandene Logik ausgeführt. Wenn es nicht vorhanden ist, wird eine andere Logik ausgeführt.
try { var foo = require('foo') var fooVersion = require('foo/package.json').version } catch (er) { foo = null } if ( notGoodFooVersion(fooVersion) ) { foo = null } // .. then later in your program .. if (foo) { foo.doFooThings() }
bundledDependencies / bundleDependencies
Paketabhängigkeiten, bundledDependencies ist ein Array-Objekt, das abhängige Paketnamen enthält. Beim Veröffentlichen werden die Pakete in diesem Objekt in die endgültige Version gepackt die Tasche. Beispiel:
{ "name": "fe-weekly", "description": "ELSE 周刊", "version": "1.0.0", "main": "index.js", "devDependencies": { "fw2": "^0.3.2", "grunt": "^1.0.1", "webpack": "^3.6.0" }, "dependencies": { "gulp": "^3.9.1", "hello-else": "^1.0.0" }, "bundledDependencies": [ "fw2", "hello-else" ] }
Führen Sie den Verpackungsbefehl npm pack aus und das generierte Paket fe-weekly-1.0.0.tgz enthält fw2 und hello-else. Es ist jedoch zu beachten, dass diese beiden Pakete zuerst in devDependencies oder dependencies deklariert werden müssen, da die Verpackung sonst einen Fehler meldet.
Verwandte Empfehlungen:
Spring Boot führt Abhängigkeitspaket Druid ein
Detaillierte Erläuterung der NPM- und Webpack-Konfigurationsmethoden im Knoten. js
Teilen Sie mit, wie Sie die neueste Version von nodejs verwenden, um npm zu installieren
Das obige ist der detaillierte Inhalt vonMehrere npm-Abhängigkeitspaketverwaltungsfreigaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Quark Netdisk und Baidu Netdisk sind beide sehr praktische Speichertools. Viele Benutzer fragen sich, ob diese beiden Softwareprogramme kompatibel sind. Wie teile ich Quark Netdisk mit Baidu Netdisk? Auf dieser Website erfahren Sie ausführlich, wie Sie Quark Network Disk-Dateien auf der Baidu Network Disk speichern. So speichern Sie Dateien von Quark Network Disk auf Baidu Network Disk Methode 1. Wenn Sie wissen möchten, wie Sie Dateien von Quark Network Disk auf Baidu Network Disk übertragen, laden Sie zunächst die Dateien herunter, die auf Quark Network Disk gespeichert werden müssen, und öffnen Sie sie dann Wählen Sie im Baidu Network Disk-Client den Ordner aus, in dem die komprimierte Datei gespeichert werden soll, und doppelklicken Sie, um den Ordner zu öffnen. 2. Klicken Sie nach dem Öffnen des Ordners oben links im Fenster auf „Hochladen“. 3. Suchen Sie die komprimierte Datei, die auf Ihren Computer hochgeladen werden soll, und klicken Sie, um sie auszuwählen.

1. Zuerst rufen wir NetEase Cloud Music auf und klicken dann auf die Software-Homepage-Oberfläche, um die Song-Wiedergabeoberfläche aufzurufen. 2. Suchen Sie dann in der Song-Wiedergabeoberfläche die Schaltfläche für die Freigabefunktion oben rechts, wie im roten Feld in der Abbildung unten gezeigt, klicken Sie, um den Freigabekanal im Freigabekanal auszuwählen, und klicken Sie auf die Option „Teilen für“. Wählen Sie unten den ersten Eintrag „WeChat Moments“ aus, mit dem Sie Inhalte für WeChat Moments freigeben können.

So verwenden Sie Redis zur Implementierung eines verteilten Transaktionsmanagements Einführung: Mit der rasanten Entwicklung des Internets wird die Verwendung verteilter Systeme immer weiter verbreitet. In verteilten Systemen ist das Transaktionsmanagement eine wichtige Herausforderung. Herkömmliche Methoden des Transaktionsmanagements lassen sich in verteilten Systemen nur schwer implementieren und sind ineffizient. Mithilfe der Eigenschaften von Redis können wir problemlos ein verteiltes Transaktionsmanagement implementieren und die Leistung und Zuverlässigkeit des Systems verbessern. 1. Einführung in Redis Redis ist ein speicherbasiertes Datenspeichersystem mit effizienter Lese- und Schreibleistung und umfangreichen Daten.

Vor kurzem hat der Baidu Netdisk Android-Client eine neue Version 8.0.0 eingeführt. Diese Version bringt nicht nur viele Änderungen, sondern fügt auch viele praktische Funktionen hinzu. Am auffälligsten ist unter anderem die Verbesserung der Ordnerfreigabefunktion. Jetzt können Benutzer ganz einfach Freunde einladen, beizutreten und wichtige Dateien im Beruf und im Privatleben zu teilen, was eine bequemere Zusammenarbeit und gemeinsame Nutzung ermöglicht. Wie teilen Sie die Dateien, die Sie benötigen, mit Ihren Freunden? Ich hoffe, dass Ihnen der Herausgeber dieser Website weiterhelfen kann. 1) Öffnen Sie die Baidu Cloud APP, wählen Sie zuerst den entsprechenden Ordner auf der Startseite aus und klicken Sie dann auf das Symbol [...] in der oberen rechten Ecke der Benutzeroberfläche (wie unten gezeigt). 2) Klicken Sie dann auf [+]. Klicken Sie auf die Spalte „Gemeinsame Mitglieder“ 】 und markieren Sie abschließend alle

LINUX ist ein weit verbreitetes Betriebssystem, das in hohem Maße anpassbar und stabil ist. CentOS ist ein kostenloses Open-Source-Betriebssystem, das auf dem Quellcode von Red Hat Enterprise Linux (RHEL) basiert. Es wird häufig in CentOS-Installationssoftware verwendet Pakete unter CentOS sind eine der häufigsten Aufgaben im täglichen Gebrauch. In diesem Artikel wird erläutert, wie man Gnuplot unter CentOS installiert und das Problem fehlender Abhängigkeiten der Sunflower-Software löst. Gnuplot ist ein leistungsstarkes Zeichentool, das verschiedene Arten von Diagrammen erstellen kann, einschließlich zweidimensionaler und dreidimensionaler Datenvisualisierung. Um Gnuplot auf CentOS zu installieren, können Sie die folgenden Schritte ausführen: 1.

Mango TV bietet verschiedene Arten von Filmen, Fernsehserien, Varietés und anderen Ressourcen, und Benutzer können frei wählen, ob sie diese ansehen möchten. Mango TV-Mitglieder können nicht nur alle VIP-Dramen ansehen, sondern auch die höchste Bildqualität einstellen, damit Benutzer die Dramen gerne ansehen können. Nachfolgend stellt Ihnen der Herausgeber einige kostenlose Mango TV-Mitgliedskonten vor, die Sie nutzen können. Beeilen Sie sich und werfen Sie einen Blick darauf Schau mal. Kostenloses Teilen des neuesten Mitgliedskontos von Mango TV 2023: Hinweis: Dies sind die neuesten gesammelten Mitgliedskonten. Sie können sich anmelden und diese direkt verwenden. Ändern Sie das Passwort nicht nach Belieben. Kontonummer: 13842025699 Passwort: qds373 Kontonummer: 15804882888 Passwort: evr6982 Kontonummer: 13330925667 Passwort: jgqae Kontonummer: 1703

Wenn wir das Win10-System verwenden und mit der Maus auf den Desktop oder das Rechtsklick-Menü klicken, stellen wir fest, dass das Menü nicht geöffnet werden kann und wir den Computer nicht normal verwenden können. Zu diesem Zeitpunkt müssen wir das wiederherstellen System zur Lösung des Problems. Die Win10-Rechtsklick-Menüverwaltung kann nicht geöffnet werden: 1. Öffnen Sie zuerst unsere Systemsteuerung und klicken Sie dann auf. 2. Klicken Sie dann unter Sicherheit und Wartung auf. 3. Klicken Sie rechts, um das System wiederherzustellen. 4. Wenn die Maus immer noch nicht verwendet werden kann, prüfen Sie, ob mit der Maus selbst ein Fehler vorliegt. 5. Wenn Sie sicher sind, dass kein Problem mit der Maus vorliegt, drücken Sie + und geben Sie ein. 6. Nachdem die Ausführung abgeschlossen ist, starten Sie den Computer neu.

Titel: Um das Problem zu lösen, dass Discuz WeChat-Freigaben nicht angezeigt werden können, sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des mobilen Internets ist WeChat zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Bei der Website-Entwicklung werden viele Websites WeChat-Freigabefunktionen integrieren, um das Benutzererlebnis zu verbessern und die Website-Präsenz zu erweitern, sodass Benutzer Website-Inhalte problemlos mit Moments oder WeChat-Gruppen teilen können. Allerdings kann es bei der Verwendung von Open-Source-Forumsystemen wie Discuz manchmal zu dem Problem kommen, dass WeChat-Freigaben nicht angezeigt werden können, was zu gewissen Schwierigkeiten bei der Benutzererfahrung führt.
