Verwenden Sie den Befehl: npm install package name oder npm i package name Lokal installierte Pakete werden im Verzeichnis „node_module“ unter dem aktuellen Verzeichnis angezeigt Wenn das lokal installierte Paket über eine CLI verfügt, platziert npm sein CLI-Skript unter node_modules/.bin und ruft es mit dem Befehl npx auf.
1.2 Globale Installation
Global installierte Pakete werden in einem speziellen globalen Verzeichnis abgelegt. Verwenden Sie den Befehl npm install --global package name oder npm i -g package name. Das global installierte Paket ist nicht für alle Projekte verfügbar, es stellt nur globale CLI-Tools bereit. In den meisten Fällen ist es nicht erforderlich, das Paket global zu installieren.
1.3 Installationsbefehl
Abhängig von der Produktionsumgebung npm i Paketname npm i --save Paketname npm i -S Paketname Installieren Sie Abhängigkeiten in der Entwicklungsumgebung npm i --save-dev Paketname npm i -D Paketname
1.4. Wenn Sie nodejs zum Importieren eines Moduls verwenden und der Modulpfad nicht mit ./ oder .../ beginnt, geht Node davon aus, dass das importierte Modul aus dem Verzeichnis node_modules stammt.
1.5. npm-Skript
Konfigurieren Sie häufig verwendete CLI-Befehle im Skriptfeld von package.json und verwenden Sie den Namen des npm-Ausführungsskripts, um das Skript auszuführen. npx kann im Skript weggelassen werden.
2. Frühere Probleme mit npm:
Abhängigkeitsverzeichnisse sind tief verschachtelt: In der Vergangenheit waren npm-Abhängigkeiten verschachtelt und das Windows-System konnte zu tiefe Verzeichnisse nicht unterstützen.
Langsame Download-Geschwindigkeit: Aufgrund der tiefen Verschachtelungsebenen können Paket-Downloads nur seriell erfolgen; mehrere Pakete derselben Version werden wiederholt heruntergeladen.
Die Konsolenausgabe ist komplex: Es werden viele Paketdetails gedruckt
Problem bei der Projekttransplantation: In der Vergangenheit gab es nur die Konfigurationsdatei package.json, aber keine Datei package-lock.json.
3. Die Entstehung von Garn, weil es folgende Vorteile hat:
Verwenden Sie eine flache Verzeichnisstruktur
paralleler Download
Verwenden Sie den lokalen Cache
Optimieren Sie die Ausgabeinformationen der Konsole und geben Sie nur Schlüsselinformationen aus
Verwenden Sie die Garnsperrdatei, um genaue Abhängigkeiten aufzuzeichnen
4. Beeinflusst durch Garn griff npm6 auf die fortschrittlichen Konzepte von Garn zurück und nahm die folgenden Optimierungen vor:
Verzeichnisreduzierung
paralleler Download
lokaler Cache
Verwenden Sie package-lock.json, um genaue Abhängigkeiten aufzuzeichnen
Eine große Anzahl von Befehlsaliasen hinzugefügt
Integriertes Npx, Sie können lokale CLI-Tools starten
Vereinfacht die Konsolenausgabe erheblich
5. cnpm
Der Registrierungsserver von npm befindet sich im Ausland, was zu langsamen oder fehlgeschlagenen Downloads führen kann. In der Vergangenheit stellte npm keine eigene Registrierungsfunktion zur Verfügung, sondern der Taobao npm-Spiegel. Die anderen Verwendungszwecke sind im Wesentlichen die gleichen wie bei npm.
6. pnpm
Wie bei npm und Yarn wird der Cache weiterhin zum Speichern installierter Pakete verwendet.Verwenden Sie pnpm-lock.yaml, um detaillierte Abhängigkeitsversionen aufzuzeichnen
Im Gegensatz zu Yarn und NPM verwendet PNPM symbolische Links und Hardlinks, um Abhängigkeiten zu platzieren, das Kopieren von Dateien zu vermeiden, die Installationseffizienz zu verbessern und die Speicherplatznutzung erheblich zu reduzieren.
Durch die Verwendung von symbolischen Links und Hardlinks kann pnpm das Problem zu langer Pfade in Windows-Systemen vermeiden und nutzt daher Baumabhängigkeiten. Aufgrund der Baumabhängigkeiten können Projekte nur direkte Abhängigkeiten verwenden, keine indirekten Abhängigkeiten.
7. PNPM-Prinzip:
Das Wesen einer Datei: Die Datei ist eigentlich ein Zeiger, der auf eine externe Speicheradresse (Festplatte, USB-Stick) zeigt. Das Löschen einer Datei löscht tatsächlich den Zeiger und geht daher sehr schnell.
Kopie der Datei: Kopieren Sie den Inhalt, auf den der Dateizeiger zeigt, und generieren Sie dann einen neuen Zeiger, der auf den neuen Inhalt zeigt.
Hardlink: Kopieren Sie einen Datei-A-Zeiger auf einen anderen Datei-B-Zeiger. Datei B ist ein Hardlink auf Datei A.
Symbolischer Link (Softlink): Erstellen Sie einen symbolischen Link B für eine Datei oder einen Ordner A, dann zeigt B auf A.
Verknüpfung: Ähnlich einem symbolischen Link handelt es sich um eine von Windows in der Anfangszeit unterstützte Linkmethode. Sie ist nicht nur ein Zeiger, sondern enthält auch verschiedene Informationen wie Berechtigungen, Kompatibilität, Startmethode usw. Verknüpfungen gelten nur für Windows-Systeme und werden nicht plattformübergreifend verwendet.
Der Unterschied zwischen symbolischen Links und Hardlinks:
Harte Links können nur Dateien verknüpfen, während symbolische Links Dateien und Verzeichnisse verknüpfen können.
Nach Abschluss der Verbindung ist der feste Link nur noch mit dem Dateiinhalt verknüpft und hat nichts mit dem vorherigen Link zu tun. Symbolische Links sind immer mit der zuvor verknüpften Datei verknüpft und nicht direkt mit der Inhaltsdatei verknüpft.