Dans les leçons précédentes,
nous avons appris sur Node.
Nous avons également vu comment Node peut être utilisé pour configurer un serveur Web.
Maintenant, les concepteurs de nœuds ont délibérément gardé le nœud petit avec un petit nombre de
modules de code afin qu'ils puissent laisser le soin
aux développeurs tiers de trouver des solutions innovantes aux problèmes.
Ainsi, une fois Node publié, un certain nombre de développeurs tiers ont commencé à concevoir
et à publier des modules tiers intéressants qui peuvent fonctionner au-dessus de la plate-forme Node.
Maintenant, vous avez vu un certain nombre de modules Node qui pourraient être
utilisés pour le développement frontal dans les cours précédents.
Maintenant, dans ce cours, nous examinons le développement côté serveur et sur le côté serveur, l'
un des modules Node tiers les plus populaires ou
frameworks pour la construction de serveurs HTTP est Express.
Regardons quelques détails d'Express dans
cette conférence et ensuite nous allons utiliser Express pour
construire un serveur qui sert l'API REST tout au long de ce cours.
Tout d'abord, qu'est-ce qu'Express ?
Express est un
framework rapide, sans opinion, minimaliste qui fonctionne sur Node.js et prend en charge le développement Web.
C' est la définition que j'ai empruntée à expressjs.com,
le site où la documentation relative à Express est disponible pour nous.
Maintenant Express vous permet de développer une application Web, une
application côté serveur qui servira du contenu pour la consommation par notre front-end.
Express fournit un ensemble robuste de fonctionnalités que nous explorerons
plus en détail dans le reste des leçons de ce cours. S'
exprimer comme je l'ai dit est un framework minimaliste,
et Express fournit également un moyen d'étendre et d'ajouter des
fonctionnalités à Express via un middleware tiers.
Cela étend les fonctionnalités d'Express et ajoute plus de fonctionnalités si nécessaire.
Ainsi, vous pouvez créer votre serveur Web en utilisant autant de middleware tiers que
requis pour répondre aux besoins de votre serveur Web que vous concevez.
Nous examinerons quelques exemples de middleware tiers dans cette leçon et nous en
explorerons davantage au fur et à mesure que nous examinerons le reste des leçons de ce cours.
Pour utiliser Express dans votre projet, bien sûr,
la première étape consiste à installer Express et comme Express est un module Node,
nous l'installons en disant npm install express —save
et cela installerait Express dans votre projet local.
Nous verrons l'utilisation de cela dans l'exercice qui suit cette conférence.
Parlons brièvement du middleware Express.
Alors, quel est exactement le but du middleware ?
Le middleware pris en charge par Express fournit beaucoup de
fonctionnalités de plug-in qui seraient utilisées pour améliorer votre application Express, des
fonctionnalités de plug-in comme par exemple, nous allons regarder
un middleware appelé Morgan qui vous permet d'
imprimer des informations de journal à l'écran sur le qui entrent dans votre serveur.
De même, nous allons examiner un autre middleware appelé BodyParser,
qui vous permet d'analyser le corps
du message de requête HTTP entrant et d'en extraire
des informations pour une utilisation dans votre application Express.
Nous verrons leur utilisation dans l'exercice qui suit.
Comme je l'ai mentionné, Morgan effectue la journalisation des informations sur la console côté serveur,
des informations sur les requêtes entrantes.
De même, ils peuvent servir des ressources Web statiques de notre serveur en utilisant la
statique Express afin que cela serve des informations à partir d'un dossier dans notre projet Express,
et en déclarant le projet, vous pouvez dire que je suis
double nom de fichier de soulignement et double nom de répertoire de soulignement ou dirname qui
vous donne le chemin complet pour le fichier ou le répertoire
du module courant et vous me verrez utiliser cela dans l'exercice.
Maintenant que nous avons un peu compris sur
Express et le middleware qu'Express utilise,
regardons un module Node
parce que c'est la première fois que nous rencontrons des modules Node tiers,
nous allons examiner quelques détails sur les modules Node tiers, donc si nous allons examiner
package.json pour voir ce qui est contenu dans le fichier package.json,
nous allons également examiner la gestion des versions sémantiques.
Ainsi, lorsque vous spécifiez la version du package que vous utilisez,
vous spécifiez toujours la version en spécifiant la version Major Version.Minor Version.Le patch.
Donc, lorsque vous installez un paquet,
il est toujours identifié par ces trois numéros,
version majeure qui pourrait introduire des changements de rupture, ce qui signifie que si vous
installez une version plus récente du paquet, il peut ne pas être
complètement rétrocompatible avec les versions précédentes.
Il peut introduire des changements de rupture dans lesquels vous devrez peut-être revenir en arrière et corriger
le code que vous pourriez avoir écrit dans la version antérieure de votre projet.
La version mineure introduit
quelques modifications mineures à votre package et peut ne pas casser les modifications.
Un patch serait une correction de bug qui est souvent émise puis un petit bug est découvert.
Ainsi, les correctifs n'entraînent généralement aucune modification de rupture et vous pouvez facilement utiliser
une version supérieure ou une version de correctif supérieure d'
un package particulier que vous utilisez dans votre application Node.
Lorsque vous installez un paquet, vous pouvez spécifier
la version exacte du paquet à installer en disant npm install.
Par exemple, si vous voulez installer la
version 4.0.0 d'Express, vous pouvez dire express @4 .0.0.
Vous spécifiez donc explicitement la version du package à installer.
Si vous êtes d'accord avec une version de correctif de niveau supérieur,
vous diriez npm install express @"~4.0.0 Si
une version mineure supérieure d'un paquet est
acceptable alors vous diriez @ et le nom du paquet.
Maintenant, ce type d'informations est également enregistré dans le fichier package.json,
nous allons rapidement visiter le paquet du fichier json
où vous remarquerez que certaines de ces informations sont enregistrées.
Maintenant, lorsque vous faites l'exercice qui suit cette conférence,
vous verrez cela dans le fichier package.json.
Ce sera le résultat de l'exercice qui suit cette conférence.
Dans l'exercice, nous allons construire un serveur Web simple en utilisant Express.
Maintenant, laissez-moi vous emmener à travers une visite rapide de package.json
pour illustrer quelques informations dans package.json.
Donc, dans le fichier package.json, vous remarquerez cette information ici,
cette propriété pour notre json qui est stockée ici appelée dépendances.
Les dépendances sont l'endroit où vous spécifierez
quels modules tiers supplémentaires sur
lesquels ce projet Node particulier dépend,
donc comme vous pouvez le voir ici, nous disons que ce projet dépend d'Express
et Morgan et notez en particulier comment cette information est spécifiée ici.
Donc, c'est ^4.16.3 ce qui signifie que cela
fonctionnera avec n'importe quelle version qui est 4.16.3 ou supérieure.
Vous pouvez utiliser une version mineure de niveau supérieur et ce projet sera toujours d'
accord avec elle et de même pour Morgan nous avons spécifié les informations ici.
Donc, ces informations supplémentaires sont ajoutées dans le fichier package.json chaque fois que vous faites
npm install et dites —save flag pour l'installation npm.
Maintenant, vous remarquerez aussi que j'ai créé un fichier .gitignore ici et dans
le fichier .gitignore, j'ai spécifié que git devrait ignorer le dossier des modules Node.
Alors, qu'est-ce qui est exactement contenu dans le dossier Node modules ?
Si vous installez des modules tiers dans votre application Node,
tous ces modules tiers seront enregistrés dans le dossier Node modules ici,
donc dans votre projet, vous verrez que le dossier Node modules a été créé ici.
Et en regardant le dossier des modules de noeud, vous verrez
tout un tas de paquets qui ont été installés.
Maintenant, tout cela a été installé parce que vous
installez Express et Express à son tour dépend
d'autres paquets qui sont nécessaires, donc tous ceux sont également installés ici par défaut.
En particulier, permettez-moi également d'attirer votre attention sur le paquet Express ici,
donc si vous allez dans le paquet Express, vous verrez des
informations supplémentaires stockées dans le paquet Express,
donc la perspective de l'index aussi puisque Express lui-même est
un module Node, vous verrez un
fichier package.json dans Express aussi qui contient
des informations supplémentaires qui, bien sûr, est très détaillé là,
difficile à comprendre mais notez en particulier
qu'Express lui-même dépend de nombreux autres modules Node ici.
Et c'est la raison pour laquelle tous ces autres modules Node
ont également été installés dans le dossier Node modules.
Donc, lorsque vous installez Express,
cela déclenchera immédiatement également toutes ses dépendances à installer car
Express aura besoin de ces autres modules Node pour qu'il fasse son travail.
En outre, dans Express, vous verrez également le fichier index.js.
C' est donc le point de départ de notre module Express Node lui-même et
notez en particulier que le fichier index.js dit simplement module.exports nécessite lib express.
Donc, le code réel pour le module Express lui-même est dans ce projet lib,
dossier lib ici et vous pouvez voir le détail.
Donc, si vous êtes curieux de voir les détails d'Express lui-même, vous pouvez aller regarder
là-dedans, mais encore une fois cela peut être un peu trop pour vous en ce moment.
Pour le moment, il suffit d'accepter le fait qu'Express fera son travail comme prévu.
Mais je pensais que ce serait une expérience intéressante de visiter le dossier du module Node
pour regarder une structure d'un module Node tiers particulier dans un peu plus en détail.
En outre, vous remarquerez qu'il y a un autre fichier
ici appelé package-lock.json qui est installé.
Maintenant, cela est en cours d'installation par les nouvelles versions de npm.
Le fichier package-lock.json est automatiquement généré par
npm qui stocke les informations sur
l'arborescence exacte qui a été générée lors de l'installation
d'autres modules Node et cela est très utile lorsque vous
devez effectuer l'installation des modules Node à un autre emplacement.
Par exemple, si vous téléchargez un référentiel Git et
essayez de recréer ce projet sur un autre ordinateur,
vous devez simplement taper npm install sur l'invite et
cela demandera à votre application Node d'
installer automatiquement tout ce qui est spécifié dans les dépendances ici pour vous.
Lors de la création que package-lock.json stocke des informations supplémentaires qui
sont utilisées par npm pour effectuer l'installation correcte de tous les modules npm requis.
Maintenant, pour le moment, vous n'avez pas besoin de vous soucier des détails de
ce qui se trouve dans le fichier package-lock.json.
Avec cela, nous terminons cette leçon où nous avons examiné quelques détails sur Express.