‫Instructeur : Dans cette
‫vidéo, examinons les deux types de packages que nous
‫pouvons installer avec npm, ainsi que les deux types d'installations qu'il existe.
‫Ainsi, les deux types de packages que
‫nous pouvons installer sont des dépendances simples ou des dépendances de développement.
‫Désormais, les dépendances simples ou régulières sont simplement des packages contenant
‫du code que nous inclurons dans notre propre code.
‫Donc du code sur lequel nous avons construit notre propre application,
‫et c'est pourquoi nous les appelons en fait
‫des dépendances, car notre projet et notre code en
‫dépendent pour fonctionner correctement.
‫Par exemple, Express, qui est, encore une fois,
‫le framework Node que nous utiliserons
‫plus tard
‫dans le cours, ce sera une dépendance.
‫Alors installons maintenant notre toute première dépendance juste pour
‫vous montrer comment cela fonctionne.
‫Et le package que nous allons installer s'appelle Slugify, qui est
‫un petit outil que nous pouvons
‫utiliser pour créer des URL plus lisibles à partir des noms.
‫Par exemple, comme les noms de produits dans le cas
‫de notre exemple de formulaire de nœud.
‫Ainsi, pour installer une simple dépendance
‫dans npm, il suffit de dire npm install, puis
‫le nom du package, qui
‫est simplement Slugify.
‫Dans les versions précédentes, vous deviez également
‫dire dash dash save, comme celui-ci, mais pour le
‫moment, ce n'est plus nécessaire.
‫Donc, si vous spécifiez simplement npm install slugify,
‫il installera alors ce package en tant que dépendance régulière.
‫Et regardez ce qui arrive à notre colis. json une fois cette
‫installation terminée.
‫Nous allons donc appuyer sur retour maintenant, et voyons ce qui se passe.
‫Et en fait, c'était très
‫rapide et cela a installé notre paquet
‫tout de suite, puis a créé ce nouveau champ ici appelé
‫dépendances, et a placé notre première dépendance, Slugify, juste là-dedans.
‫Il contient également la version du package, mais
‫nous en parlerons un peu plus plus loin dans
‫cette section.
‫C'est notre première dépendance, et
‫encore une fois, ce n'est qu'une dépendance normale.
‫Et nous utiliserons Slugify directement dans la prochaine
‫vidéo, donc juste pour avoir une idée de la façon dont nous utilisons
‫ces dépendances tierces dans notre code.
‫Mais pour le moment, ce
‫que je veux vous montrer, c'est qu'en plus de ces
‫dépendances régulières, nous avons aussi des dépendances de développement.
‫Et ce ne sont généralement que des outils de développement,
‫par exemple comme un bundler de code comme
‫Webpack, ou un outil de débogage ou une bibliothèque de test.
‫Ce sont donc des dépendances de développement.
‫Ils ne sont pas nécessaires
‫pour la production, donc notre code n'en dépend
‫pas vraiment, nous les utilisons simplement pour développer nos applications.
‫Installons maintenant une dépendance de développement, qui
‫n'est qu'un nom court pour la dépendance de développement,
‫et l'outil que
‫nous allons installer s'appelle nodemon.
‫Donc npm install nodemon, comme ça, puis ce que nous devons faire
‫pour spécifier qu'il s'agit d'une
‫dépendance de développement, c'est-à-dire save dev, et cela ajoutera donc une
‫entrée à ce package. json dans
‫les dépendances de développement.
‫Voyons donc
‫cela une fois l'installation terminée.
‫Maintenant, nodemon est un très bel outil qui nous aide
‫à développer des applications Node JS en redémarrant automatiquement
‫l'application Node chaque fois que nous modifions certains fichiers dans notre
‫répertoire de travail.
‫Alors rappelez-vous que dans le projet, je
‫fermais le serveur tout le temps, puis le
‫redémarrais chaque fois que je
‫modifiais le code.
‫Mais avec cet outil, ce n'est plus nécessaire.
‫Ainsi, il redémarrera automatiquement le serveur à chaque fois que nous
‫effectuerons une modification.
‫L'installation est maintenant terminée, et cela
‫a créé un nouveau champ appelé dépendances de développement,
‫puis, bien sûr, ajouté nodemon à l'intérieur.
‫Et donc notre projet sait maintenant
‫fondamentalement que nous dépendons de cet outil ici pour développer notre application,
‫et de ce package ici pour construire notre base de code.
‫Ce sont donc les deux types de forfaits.
‫Parlons maintenant également des deux types d'installation de ces packages,
‫car pour
‫le moment, tout ce que nous avons fait
‫était d'installer ces packages localement, ils ne fonctionnent
‫donc que dans ce projet et nous
‫pouvons réellement le voir ici dans
‫notre dossier de projet
‫car npm a créé ceci nouveau dossier
‫appelé modules de nœud pour nous.
‫Il a toutes les dépendances de notre projet.
‫Mais maintenant, vous pourriez demander, eh bien,
‫nous n'avons spécifié que Slugify
‫et nodemon, alors que font tous ces packages ici ?
‫Eh bien, c'est simplement parce qu'ils sont
‫à leur tour des dépendances de nos dépendances.
‫Si, par exemple, Slugify a besoin de l'un de
‫ces packages, alors npm installera également ces dépendances.
‫Et donc nous nous retrouvons avec toutes ces dépendances
‫ici dans notre projet.
‫Ce sont donc des modules locaux, donc Slugify et nodemon,
‫encore une fois, nous les
‫avons simplement installés localement dans notre dossier de projet et
‫ils ne fonctionneront nulle part ailleurs.
‫Mais avec npm, nous pouvons également avoir des installations globales, et les
‫installations globales seront alors disponibles n'importe où, pas
‫seulement dans notre dossier de projet,
‫mais dans chaque dossier sur l'ensemble de votre machine.
‫Ainsi, un package doit être installé globalement
‫lorsqu'il fournit une commande exécutable que vous pouvez exécuter à partir
‫de l'interface de ligne de commande.
‫Et nodemon, par exemple, est un outil comme celui-là.
‫J'utilise donc nodemon dans tous les projets Node sur lesquels je travaille,
‫et j'ai donc installé nodemon en tant que dépendance globale car de
‫cette façon, je n'ai pas à l'installer à chaque fois
‫que je crée un nouveau projet.
‫Je peux simplement l'utiliser dans un
‫nouveau projet car il est déjà installé globalement.
‫Faisons-le donc maintenant.
‫Effacez la console
‫ici, puis installez-la globalement.
‫Donc npm install, et il y a en
‫fait un raccourci pour installer.
‫En fait, il suffit d'écrire i, comme ça.
‫C'est en fait généralement comme ça que je le fais.
‫Donc npm i nodemon, puis flag global.
‫Appuyez sur
‫retour maintenant, et maintenant il est installé dans le monde entier.
‫Mais cela nous donne en fait cette erreur,
‫et si vous êtes sur un Mac et que vous
‫l'avez fait comme ça, cela
‫vous donnera également une erreur simplement parce que
‫vous n'avez pas les autorisations pour installer ce package.
‫Si vous êtes sur un Mac, cela ne fonctionne pas,
‫et je pense que sous Windows, cela
‫devrait fonctionner, du moins c'est l'expérience
‫que j'ai, mais si vous êtes sur un Mac,
‫vous avez en fait mis sudo devant. puis entrez
‫votre mot de passe simplement pour lui donner la permission.
‫Eh bien, dans mon cas, j'ai
‫Touch ID, mais si vous ne l'avez pas, vous pouvez
‫utiliser le mot de passe de votre compte utilisateur.
‫Quoi qu'il en soit, maintenant cela fonctionne, et nous pouvons maintenant commencer à
‫utiliser nodemon sur ce projet.
‫Alors laissez-moi vous montrer comment cela fonctionne.
‫Donc, avant de lancer notre application, nous l'avons fait comme ceci.
‫Nous avons écrit node puis index. js.
‫Ce que j'ai fait ici maintenant était en fait une saisie
‫semi-automatique, et je pense que je ne vous
‫en avais pas parlé
‫à ce stade, alors laissez-moi aller de l'avant et supprimer ceci.
‫J'ai donc commencé à taper le i ici, et comme
‫il n'y a pas d'autre fichier qui commence par un i, je peux
‫maintenant appuyer sur la
‫tabulation, et ainsi il complètera automatiquement le reste
‫du nom de fichier pour moi.
‫Nous avions l'habitude de le faire comme ça, puis d'appuyer
‫sur retour, puis chaque fois que nous
‫voulions faire un changement, nous devions le quitter comme
‫ça et tout redémarrer.
‫Mais ce n'est plus le cas car maintenant nous avons nodemon.
‫Donc, tout ce que nous avons à faire est d'écrire nodemon au
‫lieu d'écrire nodemon, puis d'indexer. js.
‫D'accord, et maintenant, il surveille chaque fichier avec
‫chaque extension.
‫Si nous revenons maintenant à notre fichier ici, nous n'avons même
‫pas besoin de changer quoi que ce soit,
‫tout ce que j'ai à faire est
‫de le sauvegarder et de regarder ce qui se passe ici dans la console.
‫Je vais donc l'enregistrer
‫maintenant et vous voyez redémarrer en raison de modifications.
‫Maintenant, il recommence, index de nœud. js.
‫Vous voyez donc qu'en
‫coulisses, il exécute toujours la commande d'origine que nous avions
‫l'habitude de faire, donc l'index de nœud. js, et donc nodemon est
‫fondamentalement juste un wrapper autour de cette
‫commande de nœud simplement
‫pour nous faciliter la vie.
‫C'est un outil extrêmement pratique pour nous de travailler avec
‫Node, et pour le
‫reste du cours, j'utiliserai toujours nodemon au lieu de
‫la commande node.
‫Et maintenant juste pour finir, il y a encore une petite
‫chose que je voulais vous montrer ici.
‫Disons que nous n'avons pas installé nodemon globalement.
‫Eh bien, comment utiliserions-nous alors notre dépendance de développement ici localement ?
‫Donc le nodemon local que nous avons installé.
‫Eh bien, nous ne pouvions pas simplement l'exécuter à partir
‫de la ligne de commande car les dépendances locales ne fonctionnent pas comme ça.
‫Nous ne pouvons pas simplement les utiliser tout de suite dans la ligne de
‫commande, mais ce que nous pouvons faire est de spécifier un script npm
‫et nous le faisons ici dans ce champ de script.
‫Lorsque nous avons fait npm dedans,
‫il a en fait mis ce script ici pour nous,
‫qui est pour
‫le test, puis a simplement dit que nous n'avions aucun test spécifié.
‫C'est donc comme un espace réservé pour
‫nous maintenant, que nous pouvons remplacer maintenant par
‫start, puis nodemon index. js.
‫Et ce nodemon que j'utilise
‫ici sera en fait
‫le nodemon venant des dépendances de développement.
‫Au lieu d'écrire la commande ici dans la ligne de commande
‫comme je l'ai
‫fait ici, je vais simplement mettre la même chose dans un script npm.
‫Le script est appelé start dans
‫ce cas, et nous allons maintenant pouvoir l'exécuter.
‫Alors laissez-moi finir celui-ci ici.
‫Voici donc comment nous exécutons un script
‫npm, npm run and start, et en effet cela nous
‫donne la commande ici nodemon index. js, et maintenant tout
‫fonctionne exactement de la même manière qu'avant.
‫Droit?
‫Et cela n'a rien à
‫voir avec le fait que nous
‫avons installé nodemon globalement auparavant, cela fonctionne simplement comme ceci car,
‫encore une fois, nodemon est notre dépendance de développement ici même dans le script npm.
‫Nous pouvons alors
‫écrire quelque chose comme une instruction d'interface de
‫ligne de commande qui utilisera cette dépendance
‫locale et non la globale.
‫Encore une fois, cela aurait
‫très bien fonctionné sans nodemon installé globalement.
‫C'est ainsi que vous spécifiez le script npm, et nous
‫en ferons beaucoup plus tout au long de ce
‫cours et nous pouvons leur donner toutes sortes de noms.
‫Start est en quelque sorte une valeur par défaut pour le développement.
‫Donc en fait, pour
‫commencer, nous n'avons même pas besoin d'écrire npm run start,
‫mais écrire npm start est en fait suffisant
‫pour déclencher cette commande spéciale.
‫Donc tu vois encore, ça marche très bien comme ça.
‫Parfait.
‫Donc, dans cette vidéo, vous
‫avez appris la différence entre les dépendances régulières et les dépendances de
‫développement, puis vous avez également appris que vous
‫pouvez les installer localement ou globalement, ou
‫vous pouvez également les installer aux deux endroits, n'est-ce pas ?
‫Mais en fait, les dépendances globales que
‫nous installons sont généralement toujours des outils de développement car
‫ce sont eux qui ont le plus de sens
‫d'installer comme ça, encore une fois parce qu'ils nous
‫fournissent généralement un bon programme d'interface de ligne de commande.
‫Dans la vidéo suivante, nous utiliserons ensuite cette dépendance que nous avons
‫installée ici dans notre code afin
‫que vous appreniez
‫réellement à inclure un module tiers dans votre code.