Utilisez la commande : npm install package name ou npm i package name Les packages installés localement apparaissent dans le répertoire node_module sous le répertoire actuel Si le package installé localement dispose d'une CLI, npm placera son script CLI sous node_modules/.bin et utilisera la commande npx pour l'appeler.
1.2 Installation globale
Les packages installés globalement sont placés dans un répertoire global spécial. Utilisez la commande npm install --global package name ou npm i -g package name. Le package installé globalement n'est pas disponible pour tous les projets, il fournit uniquement des outils CLI globaux. Dans la plupart des cas, il n’est pas nécessaire d’installer le package globalement.
1.3 Commande d'installation
Dépend de l'environnement de production npm je nom du paquet npm i --save le nom du package npm i -S nom du package Installer les dépendances dans l'environnement de développement npm i --save-dev nom du package npm i -D nom du package
1.4. Lors de l'utilisation de nodejs pour importer un module, si le chemin du module ne commence pas par ./ ou.../, node pensera que le module importé provient du répertoire node_modules.
1.5.script npm
Configurez les commandes CLI couramment utilisées dans le champ de script de package.json et utilisez le nom du script d'exécution npm pour exécuter le script. npx peut être omis dans le script.
2. Problèmes passés avec npm :
Les répertoires de dépendances sont profondément imbriqués : dans le passé, les dépendances npm étaient imbriquées et le système Windows ne pouvait pas prendre en charge les répertoires trop profonds.
Vitesse de téléchargement lente : en raison des niveaux d'imbrication profonds, les téléchargements de packages ne peuvent être effectués qu'en série ; plusieurs packages de la même version sont téléchargés à plusieurs reprises.
La sortie de la console est complexe : impression de nombreux détails du package
Problème de transplantation de projet : dans le passé, il n'existait que le fichier de configuration package.json, mais pas de fichier package-lock.json.
3. L’émergence du fil car il présente les avantages suivants :
Utiliser une structure de répertoires plate
téléchargement parallèle
Utiliser le cache local
Rationalisez les informations de sortie de la console et affichez uniquement les informations clés
Utilisez le fichier Yarn-Lock pour enregistrer les dépendances exactes
4. Influencé par le fil, npm6 s'est inspiré des concepts avancés du fil et a apporté les optimisations suivantes :
Aplatissement du répertoire
téléchargement parallèle
cache local
Utilisez package-lock.json pour enregistrer les dépendances exactes
Ajout d'un grand nombre d'alias de commande
Npx intégré, vous pouvez démarrer les outils CLI locaux
Simplifie grandement la sortie de la console
5. cnpm
Le serveur de registre de npm se trouve à l'étranger, ce qui peut entraîner des téléchargements lents ou des échecs. Dans le passé, npm ne fournissait pas la fonction de modification du registre. Taobao construisait son propre registre, qui est le miroir Taobao npm. Taobao fournit également un outil CLI cnpm.
6. pnpm
Comme npm et Yarn, le cache est toujours utilisé pour sauvegarder les packages installés.Utilisez pnpm-lock.yaml pour enregistrer les versions détaillées des dépendances
Différent de Yarn et NPM, pnpm utilise des liens symboliques et des liens physiques pour placer des dépendances, évitant ainsi la copie de fichiers, améliorant l'efficacité de l'installation et réduisant considérablement l'utilisation de l'espace disque.
Grâce à l'utilisation de liens symboliques et de liens physiques, pnpm peut éviter le problème des chemins trop longs dans les systèmes Windows, il utilise donc des dépendances arborescentes. En raison des dépendances arborescentes, les projets ne peuvent utiliser que des dépendances directes, pas des dépendances indirectes.
7. Principe pnpm :
L'essence d'un fichier : Le fichier est en fait un pointeur pointant vers une adresse de stockage externe (disque dur, clé USB). La suppression d'un fichier supprime en fait le pointeur, c'est donc très rapide.
Copie de fichier : copiez le contenu pointé par le pointeur de fichier, puis générez un nouveau pointeur pointant vers le nouveau contenu.
Lien physique : copier un pointeur de fichier A vers un autre pointeur de fichier B. Le fichier B est un lien physique vers le fichier A.
Lien symbolique (lien logiciel) : Créez un lien symbolique B pour un fichier ou un dossier A, puis B pointe vers A.
Raccourci : Semblable à un lien symbolique, il s'agit d'une méthode de lien prise en charge par Windows au début. Il ne s'agit pas seulement d'un pointeur, mais contient également diverses informations telles que les autorisations, la compatibilité, la méthode de démarrage, etc. Les raccourcis sont propres aux systèmes Windows et ne sont pas utilisés sur toutes les plates-formes.
La différence entre les liens symboliques et les liens physiques:
Les liens physiques ne peuvent lier que des fichiers, tandis que les liens symboliques peuvent lier des fichiers et des répertoires.
Une fois la connexion terminée, le lien physique est uniquement associé au contenu du fichier et n'a rien à voir avec le lien précédent. Les liens symboliques sont toujours associés au fichier précédemment lié et ne sont pas directement associés au fichier de contenu.