1
00:00:03,920 --> 00:00:07,800
Maintenant, que nous avons appris sur Express Generator,

2
00:00:07,800 --> 00:00:10,890
l'outil d'échafaudage pour les applications d'experts,

3
00:00:10,890 --> 00:00:17,405
installons Express Generator puis créons une nouvelle application Express.

4
00:00:17,405 --> 00:00:20,250
Nous allons créer la réplique exacte de

5
00:00:20,250 --> 00:00:25,850
l'application API REST Express que nous avons implémentée dans le module précédent.

6
00:00:25,850 --> 00:00:30,025
Nous allons en effet réutiliser les trois routeurs, les

7
00:00:30,025 --> 00:00:34,970
routeurs Express que nous avons implémentés dans l'application Express précédente dans

8
00:00:34,970 --> 00:00:38,690
l'application nouvellement générée que nous allons

9
00:00:38,690 --> 00:00:43,430
générer en utilisant Express Generator dans cet exercice.

10
00:00:43,430 --> 00:00:48,680
Pour commencer, votre première étape consiste à installer Express Generator.

11
00:00:48,680 --> 00:00:52,610
Donc, à l'invite, tapez « npm

12
00:00:52,610 --> 00:00:59,210
install -g » pour l'installer en tant que module NPM global.

13
00:00:59,210 --> 00:01:05,120
Nous allons dire Express Generator et appuyer sur le retour.

14
00:01:05,120 --> 00:01:10,910
Maintenant, si vous installez sur une machine OSX ou Linux,

15
00:01:10,910 --> 00:01:14,400
assurez-vous d'utiliser sudo devant cette commande.

16
00:01:14,400 --> 00:01:21,500
Installez ensuite l'application en tant qu'application globale.

17
00:01:21,500 --> 00:01:29,850
Comme vous pouvez le voir, la version Express Generator que j'utilise est 4.16.0 dans ce cours.

18
00:01:29,850 --> 00:01:33,845
Maintenant, que nous avons installé Express Generator, dans votre terminal,

19
00:01:33,845 --> 00:01:37,590
déplacez vers le dossier Node.Js où vous avez stocké

20
00:01:37,590 --> 00:01:42,080
toutes les applications de nœuds que nous avons développées dans ce cours,

21
00:01:42,080 --> 00:01:43,745
dans le dossier Node.Js.

22
00:01:43,745 --> 00:01:50,020
À l'invite, tapez express ConfusionServer.

23
00:01:50,020 --> 00:01:53,865
Maintenant, si vous avez suivi des cours précédents,

24
00:01:53,865 --> 00:01:57,410
vous comprenez pourquoi je l'appelle Confusion et donc nous

25
00:01:57,410 --> 00:02:01,860
allons mettre en place notre application express dans le ConfusionServer.

26
00:02:01,860 --> 00:02:07,165
Je suis en train d'échafaudage sans nouvelles options et puis dans un court laps de temps,

27
00:02:07,165 --> 00:02:10,125
le serveur Express sera échafaudé.

28
00:02:10,125 --> 00:02:14,390
Maintenant, passez dans le dossier ConfusionServer et

29
00:02:14,390 --> 00:02:18,680
vous verrez qu'un tas de fichiers sont déjà échafaudés pour vous.

30
00:02:18,680 --> 00:02:23,645
Donc, ouvrons ce projet dans Visual Studio Code.

31
00:02:23,645 --> 00:02:28,935
Aussi, à l'invite, tapez « npm

32
00:02:28,935 --> 00:02:33,110
install » pour installer tous les modules NPM

33
00:02:33,110 --> 00:02:36,070
qui sont déjà inclus dans le fichier package.json.

34
00:02:36,070 --> 00:02:39,590
Donc, jetons un coup d'oeil au fichier package.json pour voir quels sont

35
00:02:39,590 --> 00:02:44,360
tous les différents modules NPM Node qui vont être installés.

36
00:02:44,360 --> 00:02:46,200
Aller à notre application,

37
00:02:46,200 --> 00:02:48,175
dans le fichier package.json,

38
00:02:48,175 --> 00:02:52,550
vous voyez que le serveur avec le nom par défaut

39
00:02:52,550 --> 00:02:57,200
a été échafaudé et vous voyez un tas de dépendances qui sont déclarées ici.

40
00:02:57,200 --> 00:03:02,390
Donc, tous ces modules NPM vont être automatiquement installés pour

41
00:03:02,390 --> 00:03:08,970
vous par NPM lorsque vous tapez « npm install » dans ce dossier.

42
00:03:08,970 --> 00:03:13,370
Ainsi, vous verrez le dossier des modules de nœud en cours de création ici.

43
00:03:13,370 --> 00:03:17,600
Allez dans le terminal, tapez « npm install », puis laissez-le

44
00:03:17,600 --> 00:03:22,320
procéder à l'installation de tous les différents modules NPM.

45
00:03:22,320 --> 00:03:23,985
Une fois qu'ils sont tous remplis,

46
00:03:23,985 --> 00:03:29,810
nous sommes prêts à commencer avec notre application Express.

47
00:03:29,810 --> 00:03:34,595
Vous remarquerez que l'application Express par défaut a déjà été installée.

48
00:03:34,595 --> 00:03:35,710
Donc, à l'invite,

49
00:03:35,710 --> 00:03:38,105
si vous dites simplement npm start,

50
00:03:38,105 --> 00:03:42,295
l'application par défaut démarrera et vous pouvez

51
00:03:42,295 --> 00:03:48,500
naviguer à l'aide de votre navigateur standard pour voir ce que cette application sert.

52
00:03:48,500 --> 00:03:58,645
Allez dans Postman au type de bloc d'adresse localhost:3000 et

53
00:03:58,645 --> 00:04:03,185
envoyez la requête et vous verrez que votre serveur retournera

54
00:04:03,185 --> 00:04:12,045
ces informations par défaut à partir du site du serveur.

55
00:04:12,045 --> 00:04:20,075
Donc, c'est le serveur Express standard qui est échafaudé par Express Generator.

56
00:04:20,075 --> 00:04:23,550
Sur la console, vous verrez des informations comme celle-ci imprimées ici.

57
00:04:23,550 --> 00:04:30,180
C' est ce que Morgan imprime à l'écran pour montrer les demandes qui arrivent.

58
00:04:30,180 --> 00:04:34,955
Ainsi, il montre le type de requête à quelle URL

59
00:04:34,955 --> 00:04:40,820
et la réponse correspondante qui a été renvoyée au client à partir du serveur.

60
00:04:40,820 --> 00:04:45,050
Arrêtons le serveur Express.

61
00:04:45,050 --> 00:04:49,430
Initialisons un dépôt Git, puis

62
00:04:49,430 --> 00:04:57,360
nous vérifierons l'état Git et vous verrez que les modules de noeud sont inclus.

63
00:04:57,360 --> 00:05:03,800
Donc, laissez-moi basculer vers mon application, puis créer

64
00:05:03,800 --> 00:05:10,895
un fichier gitignore, puis dans le fichier gitignore,

65
00:05:10,895 --> 00:05:17,470
permettez-moi de spécifier les modules de noeud comme un fichier que je veux ignorer.

66
00:05:17,470 --> 00:05:20,815
Ensuite, revenant au terminal,

67
00:05:20,815 --> 00:05:25,090
laissez-moi vérifier l'état git et vous voyez que maintenant

68
00:05:25,090 --> 00:05:30,385
nous allons enregistrer seulement les fichiers qui font partie de notre application.

69
00:05:30,385 --> 00:05:33,925
Donc, à l'invite, tapez git add,

70
00:05:33,925 --> 00:05:42,085
puis dites, git status et vous voyez tous les fichiers ont été archivés.

71
00:05:42,085 --> 00:05:50,725
Donc, vous dites, git commit -m « Express Generator ».

72
00:05:50,725 --> 00:05:54,500
Maintenant, nous allons continuer avec cette application Express.

73
00:05:54,500 --> 00:05:58,820
Nous avions déjà construit les trois routeurs en utilisant

74
00:05:58,820 --> 00:06:04,505
le routeur Express dans l'application Express précédente que nous avons implémentée.

75
00:06:04,505 --> 00:06:09,965
Nous allons copier ces trois routeurs dans cette application que nous avons générée en utilisant

76
00:06:09,965 --> 00:06:16,240
Express Generator et également configurer cette application pour utiliser ces trois routeurs.

77
00:06:16,240 --> 00:06:17,980
Donc, pour ce faire,

78
00:06:17,980 --> 00:06:24,120
laissez-moi aller dans le dossier Node.Js, puis,

79
00:06:24,120 --> 00:06:27,670
en allant dans le dossier express du noeud et les routes,

80
00:06:27,670 --> 00:06:30,380
je vais copier le dishRouter.js,

81
00:06:30,380 --> 00:06:34,460
leaderRouter.js router.js et promoRouter.js que j'ai implémenté

82
00:06:34,460 --> 00:06:39,410
dans l'affectation et nous reviendrons sur

83
00:06:39,410 --> 00:06:45,170
le ConfusionServer que je viennent de créer et dans le dossier routes, puis copier

84
00:06:45,170 --> 00:06:51,720
sur ces trois routeurs Express que nous avons créés là-bas.

85
00:06:51,720 --> 00:06:58,140
Donc automatiquement, en modifiant le fichier app.js,

86
00:06:58,140 --> 00:07:01,250
nous serons en mesure de soutenir l'API REST en utilisant

87
00:07:01,250 --> 00:07:05,080
l'application Express que nous venons de sortir.

88
00:07:05,080 --> 00:07:09,535
Payer une visite rapide à l'application qui a été échafaudé.

89
00:07:09,535 --> 00:07:12,515
Comme je l'ai mentionné dans la conférence précédente,

90
00:07:12,515 --> 00:07:16,780
le app.js est l'endroit où tout commence.

91
00:07:16,780 --> 00:07:20,540
Donc, c'est le fichier standard afin que vous puissiez voir certaines

92
00:07:20,540 --> 00:07:25,360
des choses que vous connaissez depuis le module précédent.

93
00:07:25,360 --> 00:07:31,440
Donc, nous avons besoin d'un enregistreur de chemin express qui est morgan dans ce cas.

94
00:07:31,440 --> 00:07:35,570
CookieParser que nous allons utiliser dans l'un des exercices ultérieurs et vous

95
00:07:35,570 --> 00:07:40,170
voyez aussi que vous importez deux routes ;

96
00:07:40,170 --> 00:07:42,220
l'index et les utilisateurs,

97
00:07:42,220 --> 00:07:45,225
qui sont déjà échafaudés par Express pour nous.

98
00:07:45,225 --> 00:07:51,300
Donc, nous allons ajouter les trois nouveaux routeurs ici.

99
00:07:51,300 --> 00:08:00,734
Donc, je vais juste dire, var Dish.Router nécessite des routes

100
00:08:00,734 --> 00:08:10,480
Dish.Router et puis ils vont copier ceci et ensuite aussi importer

101
00:08:10,480 --> 00:08:24,470
le Promorouter et le LeaderRouter

102
00:08:26,670 --> 00:08:32,315
et nous allons les configurer pour être utilisés ici.

103
00:08:32,315 --> 00:08:35,735
Ici, vous voyez que l'index est monté à

104
00:08:35,735 --> 00:08:40,070
la barre oblique, puis les utilisateurs sont montés sur /users.

105
00:08:40,070 --> 00:08:43,160
Donc, nous allons dire, l'utilisation de l'application

106
00:08:43,160 --> 00:08:52,970
et la vaisselle Dish.Router.

107
00:08:52,970 --> 00:08:54,840
Il est quatre heures.

108
00:08:59,890 --> 00:09:17,910
Promotions Promorouter et leaders.

109
00:09:18,030 --> 00:09:22,735
LeaderRouter. C'est ça.

110
00:09:22,735 --> 00:09:27,045
Notre application Express qui a été échafaudée est maintenant configurée

111
00:09:27,045 --> 00:09:32,000
pour être un serveur d'API REST à part entière qui servira pour les plats, les

112
00:09:32,000 --> 00:09:34,595
plats, les promotions et les leaders.

113
00:09:34,595 --> 00:09:37,630
Maintenant, si vous parcourez le reste du code,

114
00:09:37,630 --> 00:09:41,175
il semblera familier avec quelques nouvelles choses là-dedans.

115
00:09:41,175 --> 00:09:47,290
Nous les rendrons visite au fur et à mesure que nous aurons besoin de comprendre un peu plus de détails là-bas.

116
00:09:47,290 --> 00:09:50,655
Donc, vous pouvez voir que le serveur statique a été configuré,

117
00:09:50,655 --> 00:09:56,150
l'enregistreur a été configuré là et certains de ces autres- donc,

118
00:09:56,150 --> 00:10:02,315
celui-ci est un gestionnaire global pour les erreurs.

119
00:10:02,315 --> 00:10:06,150
Nous verrons comment l'utiliser plus en détail.

120
00:10:06,150 --> 00:10:10,855
Et ces deux sont des gestionnaires d'erreurs supplémentaires qui suivent après cela.

121
00:10:10,855 --> 00:10:16,635
Nous verrons comment nous les utilisons au fur et à mesure que nous les mettons en œuvre dans cette application.

122
00:10:16,635 --> 00:10:19,325
Donc, c'est là que vous remarquez toutes ces informations.

123
00:10:19,325 --> 00:10:23,140
Maintenant, vous vous demandez où le serveur lui-même est

124
00:10:23,140 --> 00:10:27,575
configuré sur l'hôte local et le numéro de port sont configurés.

125
00:10:27,575 --> 00:10:34,840
Maintenant, cette information est dans ce fichier appelé bin/www.

126
00:10:34,840 --> 00:10:38,075
Si vous ouvrez le dossier bin/www,

127
00:10:38,075 --> 00:10:40,340
vous verrez des informations supplémentaires ici.

128
00:10:40,340 --> 00:10:44,340
Donc, il dit, application var nécessite.. slash/app.

129
00:10:44,340 --> 00:10:46,330
Donc, à partir du dossier bin,

130
00:10:46,330 --> 00:10:47,480
vous venez ici et puis,

131
00:10:47,480 --> 00:10:50,805
ce fichier app.js est requis ici dans ce ;

132
00:10:50,805 --> 00:10:54,245
et donc, cela inclura automatiquement l'express et tout.

133
00:10:54,245 --> 00:10:56,440
Et puis, ici, vous configurez

134
00:10:56,440 --> 00:11:00,510
le serveur http ici et vous configurez le numéro de port.

135
00:11:00,510 --> 00:11:04,570
Vous pouvez également fournir votre propre numéro de port sur la ligne de commande,

136
00:11:04,570 --> 00:11:08,575
mais pour le moment nous allons utiliser la valeur par défaut, qui est 3000,

137
00:11:08,575 --> 00:11:11,830
et nous allons configurer le numéro de port ici ; puis,

138
00:11:11,830 --> 00:11:16,935
vous voyez le serveur var http.CreateServer que vous avez vu précédemment,

139
00:11:16,935 --> 00:11:20,590
et le serveur écoute des choses ici.

140
00:11:20,590 --> 00:11:28,050
Et puis, aussi, voici quelques événements à l'écoute du côté serveur.

141
00:11:28,050 --> 00:11:30,940
Nous reviendrons à cela dans un des exercices ultérieurs.

142
00:11:30,940 --> 00:11:33,320
Et puis, ci-dessous, vous verrez un

143
00:11:33,320 --> 00:11:36,560
code supplémentaire qui configure votre serveur pour être en mesure de

144
00:11:36,560 --> 00:11:43,170
gérer les erreurs et d'écouter les demandes entrantes sur le numéro de port et ainsi de suite.

145
00:11:43,170 --> 00:11:46,080
Pour le moment, ne vous inquiétez pas trop de ce code.

146
00:11:46,080 --> 00:11:48,730
Nous revisiterons ce code chaque fois que nous en aurons besoin,

147
00:11:48,730 --> 00:11:55,580
et nous modifierons ce code au fur et à mesure que nous en aurons besoin dans l'un des exercices ultérieurs.

148
00:11:55,580 --> 00:12:01,595
Donc, c'est là que les informations de votre serveur sont toutes configurées là.

149
00:12:01,595 --> 00:12:06,070
Et app.js, nous avons déjà vu le dossier routes là-bas.

150
00:12:06,070 --> 00:12:15,530
Index.js et users.js sont deux routes par défaut qui sont déjà configurées pour nous.

151
00:12:15,530 --> 00:12:19,575
Nous allons utiliser le users.js dans l'un des exercices ultérieurs.

152
00:12:19,575 --> 00:12:21,900
Et dans le dossier public,

153
00:12:21,900 --> 00:12:25,410
allons de l'avant et copions le index.html et

154
00:12:25,410 --> 00:12:31,345
aboutus.html de notre application Express dans le dossier public également.

155
00:12:31,345 --> 00:12:39,895
Donc, revenant au dossier public node-express.

156
00:12:39,895 --> 00:12:42,250
Je vais juste copier ces deux-là.

157
00:12:42,250 --> 00:12:47,135
Et puis, nous reviendrons sur le serveur de confusion ;

158
00:12:47,135 --> 00:12:49,840
puis, dans le dossier public,

159
00:12:49,840 --> 00:12:52,410
je vais simplement les coller en place.

160
00:12:52,410 --> 00:12:54,355
Pour le moment, ce sont des espaces réservés.

161
00:12:54,355 --> 00:12:57,960
Plus tard, nous les remplacerons par d'autres choses.

162
00:12:57,960 --> 00:13:00,240
Ainsi, avec ces modifications,

163
00:13:00,240 --> 00:13:04,385
notre serveur est maintenant entièrement configuré pour fonctionner en tant que

164
00:13:04,385 --> 00:13:09,235
serveur API REST et prendra en charge tous les points de terminaison de l'API REST.

165
00:13:09,235 --> 00:13:13,105
Alors, commençons notre serveur.

166
00:13:13,105 --> 00:13:14,680
Ainsi, à l'invite,

167
00:13:14,680 --> 00:13:19,910
tapez npm start et votre serveur sera opérationnel.

168
00:13:19,910 --> 00:13:24,555
Allons à PostBin et envoyons quelques requêtes à ce serveur.

169
00:13:24,555 --> 00:13:29,545
Envoyez-nous maintenant une demande get à l'hôte local 3000/plats,

170
00:13:29,545 --> 00:13:36,210
et vous remarquerez que le serveur API REST fonctionne exactement comme nous le prévoyons.

171
00:13:36,210 --> 00:13:41,250
Nous envoyons une demande de suppression et il supprimera les plats.

172
00:13:41,250 --> 00:13:44,580
Et puis, envoyons

173
00:13:44,580 --> 00:13:49,800
une demande de suppression aux promotions et vous voyez que cela fonctionne comme avant.

174
00:13:49,800 --> 00:13:55,075
Et nous faisons un post aux promotions

175
00:13:55,075 --> 00:14:09,430
avec le corps en champ

176
00:14:23,730 --> 00:14:26,725
et envoyons la demande de poste,

177
00:14:26,725 --> 00:14:28,750
et vous verrez qu'il dit,

178
00:14:28,750 --> 00:14:31,790
« Nous allons ajouter le test de promotion avec une description détaillée. »

179
00:14:31,790 --> 00:14:38,425
Envoyez-nous ceci aux leaders.23,

180
00:14:38,425 --> 00:14:45,190
mais mettez la demande aux leaders.23 et vous devriez voir qu'il dit, « Mise à jour du leader 23.

181
00:14:45,190 --> 00:14:47,655
Va mettre à niveau le leader. » Donc, vous voyez que

182
00:14:47,655 --> 00:14:51,780
le générateur Express qui a généré l'application et nous l'

183
00:14:51,780 --> 00:14:55,060
avons modifiée pour prendre en charge l'ensemble des points de terminaison de l'API REST que

184
00:14:55,060 --> 00:14:59,315
nous avons configurés dans la version précédente du routeur Express.

185
00:14:59,315 --> 00:15:05,020
Maintenant, avec cela, nous terminons cet exercice où nous avons démontré comment nous pouvons

186
00:15:05,020 --> 00:15:10,610
utiliser le générateur Express pour construire le point de terminaison de l'API REST.

187
00:15:10,610 --> 00:15:17,740
Maintenant, c'est un bon moment pour nous de faire un Git Kermit des changements avec le message,

188
00:15:17,740 --> 00:15:21,110
« Express generator REST API. »