Transcription
1. Introduction du cours: Bon retour. Je m'appelle Shawn Ragunhi et je suis
ravi de
vous accueillir dans le troisième modèle du gestionnaire de packages
de nœuds Express JS Cores En tant que
développeur informatique complet avec des années d'
expérience dans le développement d' applications
évolutives, j'ai
beaucoup travaillé avec NBM pour gérer les dépendances et
optimiser les flux de travail des projets Maintenant, je suis ici pour partager
cette expertise avec vous. Dans ce module, nous
aborderons en profondeur NBM, l'épine dorsale de
chaque projet Nord Js Voici ce que vous
apprendrez à
créer et à comprendre les
packages en JSON,
le cœur de tout
projet Nor Js, à installer, gérer et intégrer des
packages dans vos projets meilleures pratiques en matière de gestion des
dépendances, y compris le
portionnement sémantique, des informations sur le NBMrgistry et comment
gérer efficacement les packages globaux et gérer efficacement les packages globaux Et même des sujets avancés
tels que la mise à niveau des packages, la gestion des
dépendances de développement et le blocage des packages inutilisés Ce module est parfait pour tous ceux qui travaillent avec des
NJs ou des Express Js, que vous
soyez un développeur débutant ou
intermédiaire Si vous connaissez déjà les concepts
de base du NJ, vous êtes prêt à améliorer vos compétences avec NPM NPM ne consiste pas uniquement à
installer des packages. Il s'agit de gérer les bases de votre
projet. À la fin de ce cours,
vous maîtriserez parfaitement le
NPM et la gestion des packages, ce qui vous permettra d'
organiser et de gérer efficacement de
nouveaux projets JS Vous découvrirez également les meilleures
pratiques qui peuvent vous faire économiser d'innombrables heures et éviter des maux de tête dans votre flux de travail de développement. Pour ce module, nous
mettrons vos connaissances à l'épreuve avec un quiz de connaissances
NPM Ce quiz interactif vous
mettra au défi d' appliquer ce que nous avons appris
sur les commandes NPM, gestion des
dépendances
et le versionnement sémantique C'est une façon amusante et engageante de renforcer votre compréhension et de vous assurer que vous êtes prêt à utiliser NPM dans des projets du monde réel Je suis ravi de vous
guider à travers cet élément essentiel de
l'écosystème Nor Jz Plongeons-nous dans le vif du sujet et faisons passer vos
compétences au niveau supérieur.
2. Débuter avec NPM: Dans cette section, nous
allons
examiner NPM ou Node Package Manager, qui est essentiellement
un outil com en ligne, ainsi qu'un registre de bibliothèques
tierces que nous
pouvons ajouter à nos applications de
nœuds Donc, pour pratiquement tous les types de fonctionnalités que vous souhaitez ajouter
à votre application, il existe très probablement une bibliothèque open source gratuite, un package
ou un module de nœud, quel que soit le nom que vous voulez lui
donner dans le registre NPM Donc, si vous vous rendez
sur npmjs.com, c'est la page d'accueil de Et ce que vous voyez
ici est différent selon que vous
êtes connecté ou non. Donc voilà, je ne suis pas connecté. Vous pouvez voir un texte marketing de
base. Mais ce qui est important
ici, c'est qu'
il existe actuellement plus de 2
millions de packages sur NPM, et que tout cela est
gratuit et réutilisable afin que vous puissiez facilement ajouter ces
éléments de base à votre application De plus, si vous avez une
idée de module de nœud, si vous avez une idée
de fonctionnalité que vous souhaitez
partager avec d'autres, vous pouvez créer vos
propres modules de nœuds et les publier sur NPM Maintenant, nous ajoutons ces
modules à notre application
via un outil en ligne de commande également appelé NPM ou gestionnaire de packages de
nœuds Donc, la première chose que
je veux que vous fassiez est ouvrir le terminal et d'exécuter NPM W. Donc, NPM est livré avec un nœud Lorsque vous installez Node, vous obtenez également NPM. Voyons maintenant la
version de NPM. Je cours sur cette machine. Actuellement, j'utilise la version 8.14 0.0 de
NPM. Maintenant, il est intéressant de noter que
si vous exécutez node Hui, vous pouvez voir que la version de node est différente de la version de NPM car ces deux programmes sont développés indépendamment Maintenant, pendant que vous
regardez cette section, il y a de fortes chances que votre
version de NPM soit inférieure ou supérieure à la
version que j'utilise ici Donc, afin que vous ayez exactement
la même expérience que dans
les vidéos de cette section, je veux que vous vous
assuriez que vous
utilisez la même version
de NPM sur votre machine Laissez-moi donc vous montrer comment
installer la version 8.14 0.0 de NPM. Exécutez NBM space I. Il s'agit de l'abréviation d'installation Ensuite, espace G, c'est l'abréviation global car nous
voulons installer cette page globalement
sur cette machine Ce n'est pas spécifique à
une application, d'accord ? Ensuite, le nom du package, qui est NPM, lors de la signature, et ici nous définissons le numéro de
version Donc 188,14 0.0. Maintenant,
si vous êtes sur Mac, vous devez corriger ce problème avec un
pseudo, car il est probable que les autorisations sur votre machine ne
soient pas correctement configurées. Et lorsque vous l'exécutez
, vous pouvez obtenir une erreur d'autorisation car
vous installez un
package globalement. Donc, une solution simple
qui consiste à utiliser un pseudo. Et encore une fois, ce n'
est que pour les utilisateurs de Mac. Sous Windows, si
une erreur d'autorisation s'affiche, vous devez ouvrir
la fenêtre PowerShell avec des privilèges administratifs Maintenant, exécutons-le. Maintenant, vous devrez peut-être entrer
votre mot de passe car vous installez un package
global, d'accord ? Maintenant, cela va
prendre quelques secondes. Après cela, assurez-vous que
tout fonctionne correctement, lancez NPM di ui et vous devriez
avoir la version 8.14 0.0 de NPM
3. Le cœur des projets Node.js : package.json: Bien, maintenant je veux que tu
crées un nouveau dossier. Appelons cela une démo de NPM. Nous allons utiliser ce dossier
tout au long de cette section. Passons maintenant à ce
dossier, NPM demo. À présent, avant
d'ajouter des packages de notes à
votre application, vous devez créer un fichier appelé package point JCN Si vous vous souvenez, dans
la dernière section, nous avons défini le type sur module
dans package point JSON. package point JCN est donc
essentiellement un fichier JCN qui inclut des informations de base sur votre application
ou votre projet, telles que son nom, sa version, ses auteurs, l'adresse
de son dépôt glt, ses dépendances, En gros, un tas de métadonnées
sur votre application, et toutes les applications de nœuds ont par défaut ce
package point JCNFle Maintenant, créez un fichier de package JN, nous y exécutons NBM Maintenant, cela vous guidera étape
par étape dans la création d'un fichier package JN. Il va donc vous poser
un tas de questions. Par exemple, ici, la première
question porte sur le nom du package. Et vous pouvez voir qu'il existe
une valeur par défaut pour cela, qui est le nom du
dossier dans lequel nous
créons ce package JCNFle Vous pouvez le modifier ou l'
accepter en appuyant sur Entrée. Voici la
question suivante, qui est la version définie sur 1.0 0.0. Encore une fois, je vais l'accepter. La question suivante
est la description, puis le point d'entrée,
qui est index ou Js, par défaut, le testimand Encore une fois, nous allons ignorer cette adresse ou ce
référentiel instinctif et les mots clés, le nom de l'
auteur, la licence. Enfin, vous pouvez voir
cet objet JSON ici. Le nom est La
version de démonstration de NPM en est une, et ainsi de suite. Nous avons donc un tas de paires
clé-valeur qui représentent
les métadonnées de notre projet. Il demande donc si toutes ces
informations sont correctes. Nous avons donc présenté D. Et maintenant nous avons un
package DjSNFle Donc, une fois de plus, avant d'ajouter des packages
de nœuds à votre application, vous devez créer
un package DTJSNFle Il est donc recommandé d' vous démarrez exécuter NPM dans
un projet de nœud pour créer le
package Dot JASN
chaque fois que Il existe maintenant un moyen plus rapide de
créer ce fichier Dt TSN de package Tout à l'heure, vous y avez lancé NPM, puis vous avez dû répondre à toutes ces questions de base
concernant votre projet Maintenant, si vous ne
voulez pas le faire, vous pouvez fournir un
drapeau en forme de tiret. Avec cela, vous obtenez
un package JCNFle avec toutes ces valeurs par défaut Vous n'êtes donc pas obligé de répondre à
chaque question une par une. Ensuite, je vais vous montrer
comment installer un package de nœuds.
4. Installer et gérer les packages de nœuds: Dans cette conférence, je vais vous
montrer comment ajouter une bibliothèque tierce ou un package de nœud tiers
à votre application de nœud. Nous allons donc installer une
bibliothèque Java Strip populaire appelée lodash Donc sur pmjs.com, ici, si
vous recherchez lodash,
vous pouvez trouver ce
paquet, lodash, et la dernière version
est 4.17 0.21 Jetons un coup d'œil.
Voici comment nous installons Lodash : nous exécutons simplement NPM install Ladas dans le
PowerShell ou le terminal Ci-dessous, vous pouvez voir quelques informations
de base sur Ladas Vous pouvez voir l'adresse
du dépôt Github. Vous pouvez voir la page d'accueil de ce package qui est lodash.com Vous pouvez consulter les téléchargements
hebdomadaires. Vous pouvez voir la dernière version, le nom des collaborateurs,
certaines statistiques de base
telles que le nombre total de fichiers, taille
non compressée, ainsi que d'
autres informations de base Ainsi, chaque fois que vous souhaitez
travailler avec le package node, npmjs.com est
un bon
point de départ Maintenant, de retour dans le terminal, installez
NBM, ou nous pouvons utiliser un I
qui est plus court et plus rapide Donc, NPM, je lodash. Donc, lorsque vous l'exécutez,
deux choses se produisent. Tout d'abord, dans le package JCN, vous pouvez voir ces nouvelles dépendances de
propriété, et en dessous, vous
pouvez voir lodash Ici, dans le package point JS, nous indiquons toutes les dépendances de notre projet et
leur version. Ici, la version
de Dash est 4.17 0.21. Et nous avons ce personnage
spécial du panier, dont je
parlerai plus loin dans la section. Ainsi, lorsque vous exécutez l'installation de NPM, NPM va télécharger la dernière version du package Given à
partir du registre NPM Ensuite, il le stockera dans un
dossier , un nœud, des modules de
soulignement Donc, en dessous, vous pouvez voir
que nous avons ce dossier lodash. Nous avons ici un tas de fichiers. L'un de ces fichiers
est la rotation des packages. Ainsi, chaque module de nœud a
cette rotation de package, tout comme notre application de nœud. Donc, si vous regardez la rotation du
package ou lodash, vous pouvez voir que la
version est 4.17 Vous pouvez voir ici des informations
ou des métadonnées
supplémentaires sur
ce package lodash, telles que la page d'accueil, les mots clés, etc. Dans les
versions précédentes de NPM, la bonne façon d'installer un package de
nœuds était la suivante Installation de NPM, disons Lodash. Nous avons également dû
fournir le drapeau de la SAF. Sans cet indicateur SAF, Lodge
ne figurerait pas dans la liste des dépendances
du package JSN Mais ce comportement a été modifié dans les versions récentes de NPM, nous n'avons
donc plus besoin de
spécifier l'indicateur SAFE Exécutez NPM install uniquement au nom
du package, et cela mettra à jour le
package point GSM Et téléchargez également la
dernière version de ce package et stockez-la
dans le dossier non modules.
5. Intégrer des paquets de nœuds dans votre projet: Nous avons donc installé
cette bibliothèque oh en
tant que module de nœud tiers. Utilisons-le maintenant. De retour dans le code VS, je vais
créer un nouveau fichier à la racine de ce projet
et l'appeler index point Gs. Maintenant, nous allons
utiliser la fonction requise, charger le module Loads. Par convention, nous utilisons soulignement
pour faire référence à la bibliothèque Loadh. Utilisez la fonction requise, et comme argument,
nous fournissons Loads. Voici comment fonctionne la fonction de
réparation. Lorsque vous fournissez le nom du
module ici, cela suppose d'
abord qu'il s'
agit d'un module principal. Maintenant, dans node, nous n'avons pas de module
principal appelé lodash. La fonction requise
pense donc que ce
loadsh est peut-être un fichier ou un
dossier de ce projet Cependant, plus tôt dans le cours, vous avez appris que pour
référencer un fichier ou un dossier, nous utilisons une barre oblique Si l'argument de
la fonction requise était pdflash lodash, alors la fonction requise
supposerait que nous avons ici un fichier appelé lodash ou
Js dans le même Sinon, cela supposerait que
lodash est un dossier, et à l'intérieur de ce dossier, nous avons un fichier
appelé index ou Js Mais dans ce cas, nous
n'avons ni fichier ni dossier appelé dash
dans ce produit. La fonction requise
passe donc à la troisième étape. Cela suppose que le
module que nous avons spécifié ici existe dans le dossier des modules du
nœud. Voici donc comment la
fonction requise résout un module. Tout d'abord,
il suppose qu'il s'agit d'un module principal, sinon
il suppose qu'il s'agit d'un fichier ou d'un dossier, et sinon, il
recherche ce module dans le dossier des
modules du nœud, d'accord ? Nous avons donc chargé le
module, utilisons-le maintenant. Si nous nous rendons sur lodge.com, vous pourrez consulter la documentation de la
bibliothèque Load Cette bibliothèque inclut
de nombreuses fonctions utilitaires utiles. Celui que je vais utiliser dans cette conférence est Includes. Voici donc comment cela fonctionne. Nous passons ici deux arguments
et un argument optionnel. Le premier est un tableau. La seconde est la valeur que nous recherchons
dans ce tableau. L'argument fréquent est l'index à partir duquel effectuer
la recherche. Par défaut, sa valeur est zéro. Et dans les résultats,
nous obtenons un booléen. Appelons donc cette
méthode et vérifions-nous que nous avons correctement chargé le module
odes. Donc Loads point, et regardez, nous obtenons des renseignements. Inclut d'abord, nous
lui donnons un tableau, un, deux, trois,
puis une valeur comme deux. Nous obtenons le résultat et
l'affichons sur la console. Maintenant, de retour dans l'index du nœud
terminal lancez Js, et c'est terminé. Voici donc comment vous utilisez des modules de nœuds
tiers
dans vos applications.
6. Gérer les dépendances comme un pro: Maintenant, j'ai un
petit exercice pour toi. Je veux que vous installiez un paquet
de nœuds appelé mangos. Nous l'utilisons pour stocker nos données dans Mongo Ib et nous en
parlerons plus tard dans le cours Donc, pour l'instant, je veux que vous mettiez
la vidéo en pause et que vous
installiez ce package, puis inspectiez le package darts and pile ainsi que le dossier des modules du
nœud Alors allez-y, mettez la vidéo en pause, et lorsque vous avez terminé,
revenez et continuez à regarder. Permettez-moi donc d'installer ce package. Et le PM installe des
mangues. Très facile Magnifique. Vous pouvez
voir que notre package D JCNFle est mis à jour
sous dépendances Nous avons maintenant deux dépendances. Vous pouvez voir des mangues, et la
version actuelle est 7.4 0.1 Voyons maintenant ce que
nous avons dans le dossier des modules du
nœud. Écoutez, nous avons beaucoup de dossiers ici. D'où viennent-ils ? Nous n'avons installé aucune
de ces bibliothèques. Nous n'avons installé que
Mongos et Lodash. Donc, les autres
bibliothèques que vous voyez ici sont d'autres packages de nœuds dont dépend Mongoose Maintenant, dans la
version précédente de NPM, nous avions un comportement différent Toutes les dépendances d'
un package donné étaient stockées dans ce dossier de
package. Par exemple, regardez, voici
notre package Lodash. Imaginons que Load Dash
ait quelques dépendances. Dans les versions précédentes de NPM, ces dépendances
étaient stockées dans
ce dossier de chargement dans
un autre dossier appelé node modules Nous avions donc une hiérarchie des packages de nœuds et de
leurs dépendances. Cependant, cela a créé
un gâchis car nous avons fini par
installer le même package plusieurs fois. De plus, dans certaines situations, nous nous retrouverions avec une structure très
profondément imbriquée Et sous Windows, en particulier, le nombre de
caractères que nous
pouvons avoir dans un chemin est limité . Dans les versions récentes de NPM, ce comportement est modifié Et maintenant, toutes les dépendances
de notre application, ainsi que leurs
dépendances, sont stockées dans notre dossier de modules de
nœuds. Il y a une exception ici. Si l'un de ces packages utilise une version différente
de l'une de ces
dépendances, cette version sera stockée localement
avec ce package. Imaginons par exemple que
dans notre application, nous ayons installé
ce module Bison Supposons que la
version dont nous
dépendons soit la première version de
Bison Dans le même temps, Mongos dépend
de ce package, mais la version dont
dépend Mongos est la version 2 Nous ne pouvons donc pas stocker
les versions 1
et 2 du BSN sous des modules nodaux Dans ce cas, étant donné que notre
application
dépend de la première version de BSN, elle
serait stockée ici Mais comme Mangus nécessite
des B dans la version deux, ceux-ci seraient stockés ici
dans le dossier Mangus Nous aurions donc ici
le dossier node modus, et à l'intérieur de ce dossier, nous aurions la version 2 de BSN
7. Paquets et contrôle de versions NPM : bonnes pratiques: Et nous avons plusieurs dossiers à l'intérieur des modules du nœud. Maintenant, il s'agit d'une application très
simple. Dans une application du monde réel, nous allons avoir de
nombreux dossiers ici, et la taille du dossier des modules du
nœud augmentera considérablement. En fait, dans une application
du monde réel, dossier des modules de
votre nœud peut être de
quelques centaines de mégaoctets Lorsque vous archivez votre code source
dans un référentiel de
contrôle de source, vous ne souhaitez pas inclure ce
dossier, car chaque fois quelqu'un extrait votre
code dans le référentiel, il doit attendre que
des centaines de mégaoctets de données Il en va de même si vous souhaitez copier ce code source d'
une machine à une autre. Imaginons que vous
souhaitiez l'offrir à un ami par e-mail
ou via Dropbox. Vous ne souhaitez pas
envoyer tout le contenu du dossier des modules du nœud. Maintenant, vous pourriez demander. Mais qu' est-il des
dépendances de nos applications ? Notre application ne fonctionnera pas sans
ces dépendances. Eh bien, la bonne nouvelle est que toutes nos dépendances sont stockées
ici dans le package JCNPck Donc, actuellement, nous avons
ces deux dépendances, et nous avons NPM Nous pouvons donc facilement restaurer ces versions de ces
dépendances sur n'importe quelle machine. Maintenant, pour simuler cela, je vais supprimer le dossier des modules de ce
nœud. Supprimez donc. OK, c'est parti. De retour dans le terminal,
nous pouvons restaurer toutes ces dépendances en
exécutant NPM install ou I. NPM examine
donc
notre package Jason, puis il téléchargera toutes ces dépendances
depuis le registre NPM Vous pouvez maintenant voir que notre dossier de modules de
nœuds est de retour avec toutes
ces dépendances. C'est pourquoi nous devons
exclure ce
dossier de modules de nœuds de notre référentiel de
contrôle de source. Maintenant, en supposant que
vous utilisez Git, laissez-moi vous montrer comment
exclure ce dossier de G. Si vous utilisez un autre outil de gestion de contrôle de
source, les étapes sont différentes, et je vous laisse le soin de
déterminer comment procéder. B dans le terminal, je
vais initialiser un dépôt Git dans ce
dossier, alors allez-y Nous avons donc ici un dépôt
Git. Maintenant, si nous exécutons git status, vous pouvez voir les fichiers que nous devons ajouter à notre dépôt
Git. donc des
modules de nœud index ou Js, du package, du dashlogt JCN qui a été créé par NPM lorsque nous avons
installé un package NPM C'est uniquement pour que
NPM fasse son travail. Nous n'avons pas à nous
inquiéter pour ce fichier. Et enfin, nous avons le
package point GSN. Nous voulons maintenant exclure le dossier des modules du
nœud ici. Pour revenir dans le code Vuse à
la racine de notre dossier, je vais ajouter un fichier
avec l'extension Get Ignore Mais ce fichier n'a
pas de nom. L'extension est G Ignore. Et ici, nous pouvons
répertorier tous les fichiers et dossiers qui devraient être
exclus de notre dépôt Git. Dans ce cas, enregistrez les modules avec une barre oblique pour indiquer qu'il
s'agit d'un dossier Maintenant, de retour dans le terminal, si nous exécutons git status
une fois de plus, nous pouvons voir que nous n'
avons plus le dossier node
modules ici. Auparavant, nous avions des modules de nœuds, mais maintenant nous n'en avons plus. Au lieu de cela, nous avons Gitignore. C'est ainsi que nous excluons le dossier des modules de
nœuds de
notre dépôt Git. Enfin, nous lançons
git add Period, et Git Comet DM avec
un message, mon premier
8. Explication du versioning sémantique: Plus tôt dans cette section, j'ai mentionné ce
caractère que nous appelons le caractère en carats.
Qu'est-ce que cela signifie ? Eh bien, pour
comprendre cela,
nous devons d'abord comprendre le versionnement
sémantique, également appelé travail SEM Dans le cadre du versionnement sémantique, la version d'un package de notes
comporte trois composants Comme vous pouvez le voir ici, avec
trois chiffres quatre, 17 et 21. Le premier chiffre est ce que nous
appelons la version majeure. La seconde est ce que nous
appelons la version mineure. Et la troisième est ce que
nous appelons la version patch,
une version de correctif, qui
est utilisée pour corriger les bogues. Imaginons que demain les
développeurs de Lodash trouvent un bogue dans la
version actuelle 4.17 0.21, puis ils corrigent un bogue
et publient une nouvelle version,
et cette version serait Ainsi, lorsqu'ils corrigent un bogue, ils augmentent
la version du correctif. La version mineure
est utilisée pour ajouter nouvelles fonctionnalités qui ne
cassent pas l'APA existant. Donc, si l'équipe de Lodash ajoutait une nouvelle fonctionnalité
sans altérer l'APA existant, elle augmenterait
la version mineure pour que cette version soit 4.18 0.0 Zéro car dans cette version, ils n'ont pas encore trouvé de bogue. Cette version
peut donc être instable. Et au fur et à mesure que des bogues seront corrigés et corrigés, ils augmenteront
la version du patch. OK ? Enfin, s'ils
ajoutent une nouvelle fonctionnalité susceptible de perturber les applications
existantes qui dépendent de cette
version de Low Dash, ils
augmenteront
la version majeure. La prochaine version majeure
serait donc 5.0 0.0, d'accord ? C'est ce que nous appelons le versionnement
sémantique ou SEM ou. Maintenant, ce
caractère en forme de carotte que vous voyez indique à NPM que nous sommes intéressés par n'importe quelle version de Lodash tant que la version
principale est Donc, si une version mineure
ou un correctif plus récent est disponible, ce package
nous
intéresserait également. Supposons donc qu'aujourd'hui, lorsque
nous démarrons ce projet, nous utilisions cette
version 4.17 0.21 Six mois plus tard, quelqu'
un extrait ce code
de notre référentiel de kits. Ensuite, ils restaurent les
packages à l'aide de NPM install. À ce moment-là, s'il existe une nouvelle version de
Lodash disponible, tant qu'il s'agit de la version 4, n'y aura pas de modifications
majeures n'y a pas de changement majeur, alors cette nouvelle version sera téléchargée et installée à l'intérieur
du port des modules du nœud. Autrement, une autre syntaxe pour spécifier cette
version sans utiliser le caractère carat est la
suivante : quatre points X.
Donc, ces deux points sont égaux. Maintenant, parfois, dans certaines applications du monde
réel, au lieu du personnage de la carte, vous pouvez voir Tilda, Tilda, d'accord ? Cela signifie que nous
sommes intéressés par toutes les versions tant que la version majeure est de sept et
la version mineure de quatre. La syntaxe alternative
pour spécifier cette version
est donc la suivante, 7.4 point X. Donc, si une nouvelle version de
correctif est disponible, nous serons également intéressés par
cette version. Vous pouvez donc constater
que les personnages Carat et Tilda aident à maintenir vos applications
à jour avec les dernières versions de
ces dépendances Cependant, cela peut parfois entraîner des problèmes dans le monde réel. Par exemple, supposons que Mongoose publie une nouvelle version
qui est 7.4 0.2 Ils peuvent corriger un bogue,
mais ils peuvent casser autre
élément susceptible d'
interférer avec votre application. Dans ce cas, vous devez vous
assurer que vous utilisez exactement
la même version. Donc, si quelqu'un extrait ce code du dépôt
trois mois plus tard, vous devez vous assurer qu' exactement de
la même version de mangos que celle utilisée le premier jour Pour ce faire, il vous suffit supprimer ce personnage Tilda
ou Carat Ainsi, la prochaine fois que vous lancerez l'installation de NPM, vous obtiendrez cette version
exacte C'est ainsi que fonctionnent le versionnement
sémantique Carrot
et Tilda
9. Garder une trace des paquets installés: Vous savez maintenant ce que signifie ce caractère
en carats. Cela signifie que dans cette application, nous avons une
version dépendante de Lord Ash, condition
que la
version principale soit quatre. En réalité, lorsque vous
restaurez ces dépendances, il y a de fortes chances que la version
de low dash qui se trouve le dossier node models soit supérieure à celle
que nous avons ici. Comment savoir quelle version
est réellement installée ? Eh bien, il y a deux façons. L'une des méthodes consiste à consulter le package ou le fichier JCN
de cette bibliothèque Mongoose Nous allons donc accéder aux
modules, trouver des mangues. Et ici nous avons le
package ou le JSON. Nous pouvons voir la version, et c' est la version exacte
qui est installée. Mais vous pouvez voir que c'
est un peu fastidieux car vous voudrez peut-être
vérifier la version de
plusieurs dépendances Vous ne voulez pas
naviguer dans ce dossier, donner un dossier ESA,
regarder le package ou Jason. Des conseils. Si vous souhaitez voir la liste de toutes les
dépendances installées et leur version exacte, vous pouvez simplement exécuter NPM LS Vous pouvez maintenant voir les dépendances
de votre application. Nous avons donc Lodash et mangos.
10. Aperçu du registre NPM: Plus tôt dans cette section, je vous ai dit que si vous souhaitez en savoir plus sur un package NPM, vous pouvez simplement vous rendre
sur tonpms.com Et
recherchez ici ce package. Disons, mangouste. Voici donc la mangouste que
nous utilisons en version 7.4 0.2. Sur cette page, nous pouvons voir toutes les métadonnées
du package mongoose L'une des propriétés qui pourraient
vous
intéresser est celle des dépendances. Nous pouvons voir toutes les
dépendances des mangos, mais il existe un moyen
plus rapide de trouver toutes les métadonnées
relatives à cette bibliothèque De retour dans le terminal, nous pouvons exécuter NPM view et spécifier un
package ici comme Mongoose Maintenant, ce que vous voyez ici est un package point JcnFive
de la bibliothèque Mongoose Vous pouvez donc voir des propriétés
intéressantes telles que les dépendances. Vous pouvez voir que la mangouste
dépend de Mongo E B, et voici la version Dans ce cas, cela dépend donc
exactement de la version 5.7
0.0 de Mongo DB car ici nous n'
avons pas les caractères carotte ou
tilda De plus, cela dépend de Bel. Et voici la carotte. Donc, tant que la version
est cinq, tout va bien. Si une version mineure est disponible, cette version pourrait également être compatible avec les mangues Ici, vous pouvez également voir la dernière version
, 7.4 0.2, ainsi que les autres
propriétés de cette bibliothèque. Maintenant, ce package
JCNFle est trop volumineux. C'était difficile à lire. Si vous n'êtes intéressé
que par les dépendances, vous pouvez exécuter NPM view
mangoes Ainsi, toutes les propriétés que nous
avons dans le package point JSON peuvent être ajoutées ici. Dans ce cas, nous
examinons uniquement la valeur de la propriété
dependencies. Les versions sont une autre
propriété utile. Si vous voulez voir
toutes les versions de Mongoose publiées jusqu'à présent, nous pouvons exécuter les versions de NPM view
mangos Voici donc toutes les
versions de cette liste. Cela est utile
car vous
souhaiterez parfois rétrograder
une version antérieure ou passer
à une version plus récente Dans ce cas, vous
pouvez consulter l'historique. Dans la prochaine conférence,
je vais vous montrer
comment rétrograder ou
mettre à niveau un package de nœuds
11. Améliorer vos forfaits locaux: Dans le monde réel, au fur et à mesure que vous
créez votre application, il est possible que
des versions plus récentes des dépendances
que vous avez installées soient disponibles. Vous voulez donc savoir rapidement quels packages sont
obsolètes et quelles sont
les nouvelles versions. Pour trouver ces informations, vous devez exécuter NPM outdated Mais avant cela, comme
nous avons installé les dernières versions
de Lodash et Mongos, nous devons d'abord les rétrograder NPM installe donc la version 4.11
0.1 de
Lodash et la version 6.9 0.1 de Mongos Une fois cela fait,
lançons NPM outdated. Ici, NPM
examine les versions de nos dépendances et
les compare à ce que nous avons
dans le registre NPM Voyons ce qui se passe ici. La version actuelle de
Mongoose est désormais 6.9 0.1, mais la version que
nous voulons est 6.11 D'où est-ce que ça vient ? Eh bien, de retour dans le package, Jason, regardez, nous avons une référence à la version 6.9 0.1 de
Mongo Mais nous avons ici ce caractère de
carotte qui est équivalent à
la version six points X. Donc, tant que la version
majeure est six, cette version peut être utilisée
dans cette application. Maintenant, dans ce cas, la version 6 la
plus est la version 6.11 0.5 C'est pourquoi nous avons cette
valeur sous la colonne Wanted. Ensuite, nous avons la
dernière version. Maintenant, dans ce cas,
la dernière version a une version majeure différente. Nous avons donc ici la version sept, mais nous avons actuellement
affaire à la version six. Contrairement à Lordsh, notre version actuelle
et la dernière version, elles se trouvent toutes deux dans la
même version majeure Il s'agit de la version 4. Ainsi, avec NPM obsolète, vous pouvez voir tous les packages
obsolètes Si vous souhaitez les mettre à jour, lancez NPM update Toutefois, cela ne fonctionne que pour la mise à jour des versions mineures et des
correctifs. En d'autres termes, lorsque je lance ceci, vous pouvez voir que
Low Dash sera mis à jour car la version
actuelle et la dernière se trouvent toutes deux dans la
même version majeure. Cela signifie donc qu'il
n'y a aucun changement radical. Mais Mongoose ne sera pas
mis à jour vers la dernière version car il ne
reste plus qu'une version majeure, et il est possible qu'
il y ait des
changements importants Ainsi, lorsque nous exécutons la mise à jour de NPM, nous ne voulons pas
casser accidentellement notre application Alors, exécutons-le et
voyons ce qui se passe. Vous pouvez donc voir que nous avons
deux mises à jour ici.
Loads est mis à niveau vers
la version 4.17 0.21, qui est la dernière
version disponible Cependant, Mangus est mis à niveau vers la dernière
version majeure des six, à savoir 6.11 0.5 Et c'est ce que nous avions ici
dans la colonne Wanted. Si vous souhaitez mettre à jour ces dépendances vers
leur toute dernière version, vous pouvez le faire avec un
autre outil de ligne de commande. Donc, NPM install G, qui signifie Global, et le nom du package
que nous allons installer est NPM Check OK, nous avons maintenant un
nouvel outil de ligne de commande appelé NPM check Updates Si je lance ceci, vous pouvez voir tous les packages obsolètes
et leur nouvelle version. Dans ce cas, nous
avons Mongoose 6.11 0.5, mais la dernière
version est 7.4 0.2 Vous pouvez maintenant voir cette ligne Runn qui est l'abréviation de NpmCheckUdates,
avec un signe moins
pour mettre à Vous pouvez donc exécuter les mises à jour de NPM
check ou la plus courte est NCU avec
moins U pour la mise à niveau Vous pouvez donc voir que notre package
point JSN est mis à jour, et voici la nouvelle
version de Mango Mais cette dépendance n'
est pas encore installée. Nous avons uniquement mis à jour le package DTJsen. Donc, pour vérifier cela, regardez ici. Dans le package DoJSN, nous avons la version 7 de
Mangus. Maintenant, installons
cette dépendance. De retour dans le terminal,
nous lançons NPM install, et voilà, nous avons maintenant la
dernière version de Mangus Donc, si vous êtes dépassé par NPM, nous n'obtenons
rien car tous nos packages sont à jour De même, si vous réexécutez NCU, vous pouvez voir que toutes les dépendances correspondent aux dernières versions
du package
12. Comprendre les dépendances de développement: Jusqu'à présent, toutes les dépendances
que nous avons installées sont des dépendances d'applications
telles que mongoose et lodash Notre application a donc besoin de
ces dépendances
pour fonctionner correctement. Mais parfois, nous utilisons des dépendances qui ne sont
utilisées que pendant le développement. Par exemple, nous disposons d'outils
pour exécuter des tests unitaires. Nous disposons d'outils pour effectuer
une analyse statique de notre code. Nous avons des outils pour regrouper notre code JavaScript, etc. Ces dépendances sont des dépendances
de développement. Et ils ne doivent pas pénétrer dans l'environnement de production dans lequel nous déployons notre application. Dans cette conférence, je vais donc vous
montrer comment installer
un
paquet de dépendances et de notes appelé JSHint, qui est un
outil d'analyse statique pour le code JavaScript Il analyse essentiellement
notre code JavaScript et
recherche les problèmes potentiels
ou les erreurs syntaxiques Nous exécutons donc NPM install Js int. Maintenant, afin de préciser qu'il s'agit d'une dépendance
au développement, nous fournissons
ici une profondeur de sauvegarde plate,
Asha. Maintenant, dans le package
point CJSN, vous pouvez voir Jent possède une propriété
différente
qui est celle des dépendances DAv Cela indique donc au nœud qu'il s'agit d'une dépendance de développement et qu'elle ne doit pas être intégrée à l'environnement
de production. Maintenant, si vous regardez le dossier des modules du
nœud, vous pouvez voir que Jent est ici Ainsi, toutes les dépendances, qu'
il s'agisse dépendances d'
applications ou de dépendances de
développement, sont stockées dans
le dossier des modules du nœud. Ils sont uniquement séparés
dans le package CJSN, d'accord ?
13. Comment désinstaller les packages de nœuds: Jusqu'à présent, vous
n'avez appris qu'à installer un package de notes
ou à le mettre à niveau. Mais dans le monde réel,
il peut arriver que vous souhaitiez installer un package parce que vous n'en avez
plus besoin Donc, si tel est le
cas, dans le terminal, vous êtes NPM unstall
ou UN en abrégé, puis spécifiez le
nom du Disons Mongos. Maintenant, dans le package JSN, vous pouvez voir que mongoose n'
est plus dépendant et qu'il est également supprimé du dossier des modules du
nœud
14. Gérer les paquets de nœuds globaux: Tous ces packages
que nous avons installés présent, comme Low Dash et JSHint, sont spécifiques à ce projet de
nœud dans ce dossier Mais il existe des packages de nœuds dans le registre
NPM qui ne sont pas
spécifiques à une application Il s'agit souvent d'outils Amanine auxquels nous voulons accéder
de partout. Ils ne sont pas liés à
un dossier ou à un projet spécifique. NPM est un exemple de l'un
de ces packages globaux. C'est un outil en ligne de commande. Nous pouvons l'exécuter depuis n'importe quel dossier. Ce n'est pas spécifique
à un projet donné. Un autre outil de
ligne de commande populaire est la CLI angulaire. Nous l'utilisons pour créer
un nouveau projet angulaire. Si vous souhaitez installer un package
note globalement, vous devez utiliser le drapeau G, comme je vous l'ai montré plus haut
dans cette section. NPM installe donc G, puis le nom
du package Plus tôt, nous avions installé la version 8.14 0.0 de
NPM. Maintenant, si vous supprimez la
version de cette commande, vous pouvez mettre à niveau votre NPM
vers la dernière version Et bien sûr, si vous êtes sur Mac, vous devez mettre un pseudo ici sauf si vous avez correctement configuré
vos autorisations. L'explication de cela dépasse
vraiment le cadre de cette section car tous les étudiants
de ce cours
n' utilisent pas un MAC. Certaines personnes utilisent Windows, et je ne veux pas perdre leur temps avec du matériel
inutile. Mais si vous
recherchez simplement NPM, psudo Mac sur Google, il existe des articles sur
Stack Oflow qui vous indiquent comment configurer correctement
vos autorisations, afin que vous n'ayez pas à
exécuter pseudo à chaque fois Voici donc comment installer
le package Global. Désormais, toutes les autres commandes NPM que vous avez apprises
tout au long de cette section fonctionnent également avec des packages
globaux Par exemple, si vous souhaitez
découvrir tous les packages
globaux obsolètes, vous exécutez NPM G outdated Vous pouvez donc voir ici tous les packages
globaux que j'
ai installés. Le premier n'existe plus. Ma version actuelle est 2.0 0.15, mais la dernière est 3.0 0.1 De même, si vous souhaitez
bloquer un package global, nous exécutons NPM uninstall G, puis spécifiez le
nom de ce package Ainsi s'achève
notre leçon sur le travail avec des packages locaux
et mondiaux. Et tout cela
concerne l'installation, mise à jour et la désinstallation packages de
nœuds du registre NPM J'espère que vous avez apprécié cette section et je vous remercie de votre attention.