﻿1
00:00:01,254 --> 00:00:03,100
‫Jonas : Dans cette conférence, je

2
00:00:03,100 --> 00:00:06,373
‫veux vous montrer deux ou trois choses différentes impliquant des modules.

3
00:00:07,720 --> 00:00:11,220
‫Et je veux commencer par vous prouver que Node

4
00:00:11,220 --> 00:00:15,300
‫encapsule en fait le code de nos modules dans une fonction

5
00:00:15,300 --> 00:00:17,270
‫wrapper, comme je vous

6
00:00:17,270 --> 00:00:19,420
‫l'ai montré dans la dernière conférence.

7
00:00:19,420 --> 00:00:24,043
‫Créons donc à nouveau un nouveau fichier, module. js, et ce

8
00:00:25,270 --> 00:00:28,543
‫sont des modules, comme celui-ci.

9
00:00:29,900 --> 00:00:31,740
‫D'accord, et ce que

10
00:00:31,740 --> 00:00:36,703
‫je vais faire ici, c'est enregistrer les arguments sur la console, d'accord ?

11
00:00:38,480 --> 00:00:42,170
‫Ainsi, les arguments sont un tableau en JavaScript, et ce

12
00:00:42,170 --> 00:00:44,490
‫tableau contient toutes les valeurs

13
00:00:44,490 --> 00:00:47,100
‫qui ont été transmises à une fonction.

14
00:00:47,100 --> 00:00:50,490
‫Donc, quand j'enregistre ce tableau d'arguments sur la console, si

15
00:00:50,490 --> 00:00:53,110
‫nous y voyons réellement des valeurs,

16
00:00:53,110 --> 00:00:57,670
‫eh bien, cela signifie que nous sommes vraiment dans une fonction, d'accord ?

17
00:00:57,670 --> 00:01:00,633
‫Exécutons donc les modules.

18
00:01:01,530 --> 00:01:06,530
‫Et en effet, ici nous avons le code dans nos arguments.

19
00:01:06,770 --> 00:01:09,050
‫Et rappelons-nous donc les cinq arguments

20
00:01:09,050 --> 00:01:10,760
‫de la fonction wrapper.

21
00:01:10,760 --> 00:01:13,720
‫Le premier est l'export, donc celui-ci, qui

22
00:01:13,720 --> 00:01:14,790
‫est actuellement

23
00:01:14,790 --> 00:01:17,030
‫vide car nous n'exportons rien.

24
00:01:17,030 --> 00:01:19,560
‫La seconde est la fonction require, nous pouvons

25
00:01:19,560 --> 00:01:20,670
‫donc voir

26
00:01:20,670 --> 00:01:23,100
‫qu'ici, nous avons bien la fonction require.

27
00:01:23,100 --> 00:01:26,673
‫Ensuite, le troisième s'appelle module, d'accord.

28
00:01:28,280 --> 00:01:31,420
‫Et dans module, nous avons ensuite des exportations de module, dont nous

29
00:01:31,420 --> 00:01:34,100
‫avons encore une fois parlé dans la dernière conférence.

30
00:01:34,100 --> 00:01:37,250
‫Et qu'est-ce que nous avons ici n'est pas si important, encore une

31
00:01:37,250 --> 00:01:38,520
‫fois, je voulais juste

32
00:01:38,520 --> 00:01:41,570
‫vous montrer que nous sommes en fait dans une fonction en ce

33
00:01:41,570 --> 00:01:43,750
‫moment, de sorte que tout ce code que

34
00:01:43,750 --> 00:01:47,660
‫nous avons dans ce module est en effet enveloppé dans cette fonction wrapper, d'accord ?

35
00:01:47,660 --> 00:01:50,980
‫Ensuite, le numéro trois et le numéro quatre sont le nom du

36
00:01:50,980 --> 00:01:52,640
‫fichier et le nom du répertoire.

37
00:01:52,640 --> 00:01:56,735
‫Et effectivement, c'est le nom du module dans lequel nous sommes

38
00:01:56,735 --> 00:01:59,260
‫actuellement, donc modules. js.

39
00:01:59,260 --> 00:02:02,450
‫Et puis ici, nous avons le nom du répertoire.

40
00:02:02,450 --> 00:02:03,550
‫Je suis donc sur

41
00:02:03,550 --> 00:02:05,970
‫mon bureau, puis dans ce dossier maintenant Node works.

42
00:02:05,970 --> 00:02:07,740
‫Tellement similaire à celui-ci

43
00:02:07,740 --> 00:02:11,970
‫ici, mais celui-ci a alors le nom du module, d'accord ?

44
00:02:11,970 --> 00:02:14,250
‫Donc ça nous prouve que,

45
00:02:14,250 --> 00:02:16,800
‫effectivement, tout le code à l'intérieur d'un

46
00:02:16,800 --> 00:02:20,490
‫module est encapsulé, et que nous avons accès à toutes

47
00:02:20,490 --> 00:02:23,030
‫ces variables, donc ces arguments, d'accord ?

48
00:02:23,030 --> 00:02:25,640
‫Donc je trouve juste que c'est une expérience intéressante

49
00:02:25,640 --> 00:02:26,960
‫que nous pouvons faire.

50
00:02:26,960 --> 00:02:29,860
‫Et nous pouvons en fait faire une autre chose cool.

51
00:02:29,860 --> 00:02:32,980
‫Donc, pour vous montrer la

52
00:02:32,980 --> 00:02:37,980
‫fonction wrapper, nous pouvons exiger le module module, d'accord.

53
00:02:38,300 --> 00:02:40,200
‫Il y a donc un module

54
00:02:40,200 --> 00:02:44,410
‫appelé module, que nous n'avons en fait jamais utilisé mais en interne, Node l'utilise.

55
00:02:44,410 --> 00:02:47,190
‫Et là-dedans, nous avons l'emballage.

56
00:02:47,190 --> 00:02:49,290
‫Et c'est en fait cette propriété qui est

57
00:02:49,290 --> 00:02:51,030
‫en fait la fonction wrapper.

58
00:02:51,030 --> 00:02:52,730
‫Nous pouvons donc maintenant y jeter un œil.

59
00:02:57,410 --> 00:03:00,140
‫Et où est-ce, ah, ouais.

60
00:03:00,140 --> 00:03:01,720
‫Alors voilà, voilà en fait.

61
00:03:01,720 --> 00:03:04,410
‫C'est donc la fonction wrapper.

62
00:03:04,410 --> 00:03:06,650
‫Et donc en effet, vous voyez export,

63
00:03:06,650 --> 00:03:09,800
‫require, module, filename et directory name, puis le corps

64
00:03:09,800 --> 00:03:11,160
‫de la fonction.

65
00:03:11,160 --> 00:03:13,520
‫Et c'est donc ce que Node

66
00:03:13,520 --> 00:03:16,220
‫utilise en interne, donc fondamentalement ce modèle ici,

67
00:03:16,220 --> 00:03:20,060
‫il l'utilise, puis remplit le corps de cette fonction avec notre code.

68
00:03:20,060 --> 00:03:23,260
‫Bon, encore une fois, juste une expérience intéressante ici.

69
00:03:23,260 --> 00:03:25,260
‫Maintenant, la chose la plus importante

70
00:03:25,260 --> 00:03:27,960
‫que je veux vous montrer ici est comment nous pouvons

71
00:03:27,960 --> 00:03:30,370
‫exporter et importer des données d'un module dans l'autre.

72
00:03:30,370 --> 00:03:33,130
‫Et donc commençons par créer un nouveau module ici, dans

73
00:03:33,130 --> 00:03:35,280
‫lequel je vais créer une calculatrice, un

74
00:03:35,280 --> 00:03:38,040
‫peu comme je l'ai mentionné dans la dernière vidéo.

75
00:03:38,040 --> 00:03:42,180
‫Appelons donc ce module de test-1, car nous

76
00:03:42,180 --> 00:03:44,393
‫allons en avoir quelques-uns.

77
00:03:45,300 --> 00:03:47,763
‫Et ici, je vais créer une classe de calculatrice.

78
00:03:49,810 --> 00:03:52,890
‫Encore une fois, c'est la syntaxe

79
00:03:52,890 --> 00:03:56,053
‫ES6 pour écrire des classes en JavaScript.

80
00:03:57,260 --> 00:04:01,033
‫Ajoutons donc quelques méthodes ici, alors ajoutez a

81
00:04:04,760 --> 00:04:08,100
‫et b, cela renverra bien sûr a

82
00:04:08,100 --> 00:04:12,920
‫plus b, donc des trucs très simples, multiplier a, b, renverra

83
00:04:14,020 --> 00:04:17,317
‫a fois b, et ensuite, divisons

84
00:04:21,785 --> 00:04:22,950
‫aussi, juste

85
00:04:22,950 --> 00:04:26,580
‫par souci d'exhaustivité ici, a, b, comme ça.

86
00:04:29,470 --> 00:04:32,170
‫Faites-lui une sauvegarde, il le formate bien, et

87
00:04:32,170 --> 00:04:36,420
‫maintenant nous pouvons faire le module. exporte, comme nous l'avons appris

88
00:04:36,420 --> 00:04:38,370
‫dans la dernière vidéo,

89
00:04:39,970 --> 00:04:42,690
‫et nous exportons notre calculatrice, d'accord ?

90
00:04:42,690 --> 00:04:45,000
‫Encore une fois, nous utilisons module. exporte lorsque

91
00:04:45,000 --> 00:04:48,010
‫nous voulons exporter une seule valeur.

92
00:04:48,010 --> 00:04:49,830
‫Et dans ce cas, notre

93
00:04:49,830 --> 00:04:51,660
‫seule valeur ici est la classe calculatrice.

94
00:04:51,660 --> 00:04:55,180
‫Donc module. les exportations sont exactement ce

95
00:04:55,180 --> 00:04:58,340
‫qui est renvoyé par un module, donc tout ce que nous

96
00:04:58,340 --> 00:05:01,320
‫y mettons, eh bien, est ensuite exporté automatiquement, n'est-ce pas ?

97
00:05:01,320 --> 00:05:03,460
‫Nous pouvons ensuite enregistrer la valeur

98
00:05:03,460 --> 00:05:07,023
‫exportée dans une variable lors de son importation, alors faisons-le maintenant.

99
00:05:08,540 --> 00:05:12,070
‫Et maintenant, ici, nous pouvons lui donner le nom que nous voulons.

100
00:05:12,070 --> 00:05:15,390
‫Donc le nom que nous exportons de l'autre côté, donc dans

101
00:05:15,390 --> 00:05:17,380
‫cet autre module, n'a pas d'importance.

102
00:05:17,380 --> 00:05:19,363
‫On peut l'appeler comme on veut ici.

103
00:05:20,810 --> 00:05:24,150
‫Donc, dans ce sens, c'est comme un retour de fonction normal,

104
00:05:24,150 --> 00:05:26,400
‫n'est-ce pas, donc nous pouvons toujours retourner

105
00:05:26,400 --> 00:05:28,320
‫n'importe quelle variable, mais ensuite l'appeler

106
00:05:28,320 --> 00:05:31,590
‫autrement lorsque nous sauvegardons le résultat d'une fonction dans une

107
00:05:31,590 --> 00:05:33,023
‫variable, n'est-ce pas ?

108
00:05:34,580 --> 00:05:36,780
‫Donc, puisque c'est notre

109
00:05:36,780 --> 00:05:41,780
‫propre module, nous devons utiliser la barre oblique, donc ce que

110
00:05:42,010 --> 00:05:44,600
‫j'ai fait juste ici, puis test-module-1.

111
00:05:44,600 --> 00:05:47,830
‫Et le JS, souviens-toi, on peut juste laisser tomber ça,

112
00:05:47,830 --> 00:05:49,990
‫ce n'est pas nécessaire, d'accord ?

113
00:05:49,990 --> 00:05:53,560
‫Et donc cette variable C ici, qui est en majuscule

114
00:05:53,560 --> 00:05:57,330
‫car pour la classe, nous utilisons généralement toujours des noms en majuscule.

115
00:05:57,330 --> 00:06:01,000
‫Et rappelez-vous, nous exportons en fait une classe ici.

116
00:06:01,000 --> 00:06:04,783
‫D'accord, nous pouvons maintenant utiliser cette classe pour faire des calculs.

117
00:06:06,230 --> 00:06:08,853
‫Alors tout d'abord créons une nouvelle calculatrice,

118
00:06:10,200 --> 00:06:12,650
‫une calculatrice, parce que plus tard nous

119
00:06:12,650 --> 00:06:15,090
‫en aurons une autre, d'accord ?

120
00:06:15,090 --> 00:06:18,650
‫Et maintenant, nous créons une nouvelle instance d'une calculatrice comme

121
00:06:18,650 --> 00:06:20,500
‫celle-ci, et cela ne devrait

122
00:06:20,500 --> 00:06:23,290
‫pas être nouveau pour vous à ce stade.

123
00:06:23,290 --> 00:06:25,900
‫Et puis enregistrons via la console le résultat

124
00:06:25,900 --> 00:06:27,793
‫de l'utilisation réelle de cela.

125
00:06:28,850 --> 00:06:33,850
‫Donc calc1. ajouter, et disons deux et cinq.

126
00:06:37,210 --> 00:06:40,443
‫Faites une sauvegarde et commentons ces deux-là.

127
00:06:42,550 --> 00:06:45,920
‫Enregistrez-le à nouveau, puis modules Node, et nous avons

128
00:06:45,920 --> 00:06:47,940
‫ici le résultat, sept.

129
00:06:47,940 --> 00:06:51,900
‫Donc ça fait deux plus cinq, donc ça marche, non ?

130
00:06:51,900 --> 00:06:54,290
‫Et ici, dans notre module

131
00:06:54,290 --> 00:06:57,970
‫de test, nous pourrions le faire d'une manière plus élégante.

132
00:06:57,970 --> 00:07:00,300
‫Nous pourrions donc affecter cette classe ici

133
00:07:00,300 --> 00:07:03,190
‫directement au module. exportations, non?

134
00:07:03,190 --> 00:07:06,270
‫Donc en ce moment nous avons une déclaration de classe,

135
00:07:06,270 --> 00:07:08,570
‫donc c'est un peu comme une

136
00:07:08,570 --> 00:07:12,200
‫déclaration de fonction, où nous disons calculatrice de fonction, et puis

137
00:07:12,200 --> 00:07:14,870
‫ceci, et ici nous disons classe, d'accord ?

138
00:07:14,870 --> 00:07:18,520
‫Mais nous pourrions également le faire avec une expression de classe.

139
00:07:18,520 --> 00:07:22,050
‫Et donc comme ça, nous n'utilisons tout simplement pas le nom de

140
00:07:22,050 --> 00:07:23,660
‫la calculatrice de toute façon.

141
00:07:23,660 --> 00:07:25,023
‫Alors copiez-le, commentez-le.

142
00:07:28,450 --> 00:07:30,760
‫D'accord, alors juste comme ça.

143
00:07:30,760 --> 00:07:32,650
‫Nous disons simplement qu'il s'agit

144
00:07:32,650 --> 00:07:34,970
‫d'une classe, puis nous l'affectons à une variable.

145
00:07:34,970 --> 00:07:36,593
‫Et c'est maintenant une expression.

146
00:07:37,600 --> 00:07:39,470
‫Alors reprenons cela, et

147
00:07:39,470 --> 00:07:43,120
‫nous reverrons bien sûr nos sept, d'accord ?

148
00:07:43,120 --> 00:07:47,471
‫Encore une fois, il s'agit simplement d'affecter immédiatement la valeur que

149
00:07:47,471 --> 00:07:50,520
‫nous voulons moduler. exportations, et cela

150
00:07:50,520 --> 00:07:53,280
‫va nous faire économiser quelques lignes de

151
00:07:53,280 --> 00:07:56,473
‫code, et probablement rendre notre code un peu meilleur.

152
00:07:57,390 --> 00:08:01,590
‫D'accord, c'est ainsi que nous exportons des trucs avec module. exports, et voyons maintenant comment

153
00:08:01,590 --> 00:08:05,160
‫et quand nous pouvons utiliser le raccourci export

154
00:08:05,160 --> 00:08:07,820
‫que j'ai également mentionné dans la

155
00:08:07,820 --> 00:08:08,973
‫vidéo précédente.

156
00:08:10,970 --> 00:08:14,433
‫Créons donc un simple commentaire ici, module. exportations.

157
00:08:16,930 --> 00:08:19,300
‫Ensuite, ici, il suffit d'exporter.

158
00:08:19,300 --> 00:08:24,300
‫Donc un nouveau test de module, et encore, module-2. js.

159
00:08:27,930 --> 00:08:31,790
‫Et donc l'alternative pour faire module. exports consiste à

160
00:08:31,790 --> 00:08:36,120
‫ajouter des propriétés à l'objet exports lui-même.

161
00:08:36,120 --> 00:08:37,680
‫Nous pourrions donc le faire

162
00:08:37,680 --> 00:08:40,740
‫comme ceci, et en utilisant à nouveau l'exemple de calculatrice d'avant,

163
00:08:40,740 --> 00:08:42,410
‫nous pourrions le faire comme ceci.

164
00:08:42,410 --> 00:08:46,253
‫Nous pouvons donc simplement ajouter des propriétés à l'objet exports.

165
00:08:48,640 --> 00:08:53,640
‫Donc a et b renverront a

166
00:08:54,490 --> 00:08:59,490
‫plus b, exportations. multipliez a, b renverra a

167
00:09:06,880 --> 00:09:08,280
‫fois b,

168
00:09:10,730 --> 00:09:15,690
‫et maintenant dupliquons à nouveau juste pour être complet, et d'accord.

169
00:09:15,690 --> 00:09:18,600
‫Nous avons donc créé ici essentiellement trois

170
00:09:18,600 --> 00:09:20,720
‫fonctions anonymes, ces trois-là,

171
00:09:20,720 --> 00:09:24,190
‫et les avons affectées à trois propriétés d'export.

172
00:09:24,190 --> 00:09:27,750
‫Et donc maintenant quand on exporte ce module de l'autre

173
00:09:27,750 --> 00:09:31,400
‫côté, donc en modules. js, nous aurons

174
00:09:31,400 --> 00:09:34,230
‫essentiellement accès à cet objet d'exportation.

175
00:09:34,230 --> 00:09:36,290
‫Alors laisse-moi te montrer ça.

176
00:09:36,290 --> 00:09:38,820
‫Disons donc que const calc2 est requis.

177
00:09:43,490 --> 00:09:46,640
‫Encore une fois, n'oubliez pas le point et la barre

178
00:09:46,640 --> 00:09:48,683
‫oblique, car c'est notre propre module.

179
00:09:50,400 --> 00:09:55,400
‫D'accord, et maintenant ce calc2 ici est l'objet d'exportation.

180
00:09:55,940 --> 00:09:58,800
‫D'accord, alors laisse-moi te montrer ça.

181
00:09:58,800 --> 00:10:03,207
‫Console. log, calc2. ajouter, deux et cinq.

182
00:10:06,670 --> 00:10:09,823
‫Cela devrait donc nous donner exactement le même résultat qu'avant.

183
00:10:11,870 --> 00:10:15,313
‫Et en effet, voici nos sept, comme avant.

184
00:10:16,997 --> 00:10:18,147
‫Et si nous

185
00:10:20,240 --> 00:10:24,000
‫nous sommes multipliés, alors cela devrait être bien sûr 10.

186
00:10:24,000 --> 00:10:26,820
‫Et donc oui, nous en avons sept ici de l'addition ici,

187
00:10:26,820 --> 00:10:28,793
‫et ensuite cette multiplication nous donne 10.

188
00:10:29,660 --> 00:10:31,460
‫J'espère donc que cela fait vraiment

189
00:10:31,460 --> 00:10:34,370
‫une différence entre module. exportations et exportations claires.

190
00:10:34,370 --> 00:10:37,150
‫Et encore une fois, lorsque nous utilisons simplement

191
00:10:37,150 --> 00:10:41,360
‫des exportations, nous pouvons ajouter des éléments à cet objet, donc essentiellement des

192
00:10:41,360 --> 00:10:43,470
‫propriétés, puis lorsque nous importons cela,

193
00:10:43,470 --> 00:10:45,900
‫donc lorsque nous avons besoin de ce

194
00:10:45,900 --> 00:10:47,340
‫module, le résultat que

195
00:10:47,340 --> 00:10:50,400
‫nous allons obtenir est un objet contenant toutes ces propriétés.

196
00:10:50,400 --> 00:10:52,180
‫Et puisque nous obtenons un

197
00:10:52,180 --> 00:10:55,260
‫objet, nous pouvons utiliser la puissance de la déstructuration ES6

198
00:10:55,260 --> 00:10:58,023
‫pour faire de la magie sympa ici, en gros.

199
00:10:59,000 --> 00:11:02,843
‫Alors laissez-moi me débarrasser de celui-ci, ou en

200
00:11:03,710 --> 00:11:07,690
‫fait le dupliquer, commenter celui-ci, et ainsi nous pouvons

201
00:11:07,690 --> 00:11:12,130
‫utiliser la déstructuration pour déstructurer l'objet que nous obtenons, d'accord ?

202
00:11:12,130 --> 00:11:16,140
‫Et cela fonctionne comme ceci, nous utilisons donc les accolades, puis

203
00:11:16,140 --> 00:11:18,200
‫nous créons simplement des noms

204
00:11:18,200 --> 00:11:21,460
‫de variables pour les propriétés de cet objet.

205
00:11:21,460 --> 00:11:26,460
‫Alors encore une fois, utilisons ajouter, multiplier et diviser.

206
00:11:26,860 --> 00:11:30,380
‫Ce sont donc les noms que nous avons

207
00:11:30,380 --> 00:11:32,450
‫sur cet objet d'exportation.

208
00:11:32,450 --> 00:11:34,680
‫Alors additionnez, multipliez et divisez, et

209
00:11:34,680 --> 00:11:37,080
‫ceux-ci doivent en fait être exactement le même

210
00:11:37,080 --> 00:11:39,330
‫nom que dans l'objet d'origine, d'accord ?

211
00:11:39,330 --> 00:11:41,100
‫Maintenant, ce que cela fera,

212
00:11:41,100 --> 00:11:43,960
‫c'est que fondamentalement, cela créera une variable

213
00:11:43,960 --> 00:11:45,523
‫appelée simplement multiplier.

214
00:11:47,820 --> 00:11:50,400
‫Et donc en effet, voici notre résultat.

215
00:11:50,400 --> 00:11:53,980
‫Et nous ne pouvons en fait importer que ceux que nous voulons.

216
00:11:53,980 --> 00:11:57,470
‫Alors disons que nous voulons seulement ajouter et multiplier, d'accord ?

217
00:11:57,470 --> 00:12:00,290
‫Et donc nous n'aurons accès qu'à ces

218
00:12:00,290 --> 00:12:03,340
‫deux-là, au lieu de tout importer du module.

219
00:12:03,340 --> 00:12:05,160
‫Et c'est un modèle assez courant

220
00:12:05,160 --> 00:12:07,240
‫que vous verrez utilisé dans Node, et

221
00:12:07,240 --> 00:12:09,930
‫nous le ferons également tout au long du projet.

222
00:12:09,930 --> 00:12:11,630
‫D'accord, donc dans cette vidéo,

223
00:12:11,630 --> 00:12:14,030
‫nous avons parlé de la fonction wrapper ici,

224
00:12:14,030 --> 00:12:16,280
‫puis nous avons parlé de l'exportation et

225
00:12:16,280 --> 00:12:20,110
‫de l'importation à l'aide du module. exportations et la sténographie des exportations.

226
00:12:20,110 --> 00:12:21,810
‫Et maintenant enfin, juste pour

227
00:12:21,810 --> 00:12:24,523
‫finir, parlons de la mise en cache très rapidement.

228
00:12:27,060 --> 00:12:30,143
‫D'accord, créons donc test-module-3 ici.

229
00:12:35,860 --> 00:12:39,603
‫Et ce que je vais faire ici, c'est créer une console. log, donc en gros du

230
00:12:41,070 --> 00:12:44,193
‫code de niveau supérieur à l'intérieur de ce module.

231
00:12:46,710 --> 00:12:49,793
‫Bonjour du module, d'accord, et puis je

232
00:12:50,892 --> 00:12:53,973
‫veux aussi exporter une fonction.

233
00:12:54,830 --> 00:12:58,770
‫Juste une seule fonction, et donc je dis module. exporte une

234
00:13:00,920 --> 00:13:05,920
‫fonction égale sans aucun argument, celle qui se

235
00:13:06,300 --> 00:13:08,300
‫connectera simplement à la

236
00:13:10,110 --> 00:13:13,673
‫console : enregistrez ce beau texte.

237
00:13:14,920 --> 00:13:17,883
‫Juste quelques petits emoji ici pour le faire ressortir un peu.

238
00:13:20,210 --> 00:13:25,133
‫D'accord, exigeons maintenant ce module de test.

239
00:13:28,170 --> 00:13:32,070
‫Test-module-3, et je ne l'enregistre dans aucune variable.

240
00:13:32,070 --> 00:13:34,750
‫Au lieu de cela, je vais appeler la fonction

241
00:13:34,750 --> 00:13:37,250
‫tout de suite sans l'enregistrer dans une variable.

242
00:13:37,250 --> 00:13:38,860
‫Nous pourrions donc bien sûr faire

243
00:13:38,860 --> 00:13:41,530
‫cela, puis nous aurions la fonction dans une variable, et

244
00:13:41,530 --> 00:13:43,070
‫nous pourrions ensuite l'appeler.

245
00:13:43,070 --> 00:13:45,070
‫Mais c'est exactement la

246
00:13:45,070 --> 00:13:48,530
‫même chose, car cela renverra cette fonction que nous

247
00:13:48,530 --> 00:13:50,630
‫avons définie, donc celle-ci ici, non?

248
00:13:50,630 --> 00:13:53,610
‫Il renverra ceci parce que nous utilisons module. exporte, puis

249
00:13:53,610 --> 00:13:57,727
‫nous appelons immédiatement cette fonction ici, d'accord ?

250
00:13:57,727 --> 00:14:00,890
‫Et donc en fait, faisons ça trois fois.

251
00:14:00,890 --> 00:14:04,980
‫Et en gardant à l'esprit que nous avons la mise en cache dans Node. js modules, que pensez-vous qu'il

252
00:14:04,980 --> 00:14:08,053
‫se passera lorsque nous exécuterons ce code ?

253
00:14:09,580 --> 00:14:13,933
‫OK, alors lançons ça et voyons ce qui va se passer.

254
00:14:16,770 --> 00:14:19,460
‫Nous avons ici le résultat, bonjour

255
00:14:19,460 --> 00:14:22,980
‫du module, puis trois fois enregistrer ce beau texte.

256
00:14:22,980 --> 00:14:26,520
‫Nous avons donc cette journalisation ici trois fois, eh bien, parce que

257
00:14:26,520 --> 00:14:29,350
‫nous avons appelé la même fonction trois fois.

258
00:14:29,350 --> 00:14:33,320
‫Mais nous n'avons reçu le bonjour du module qu'une seule fois, d'accord ?

259
00:14:33,320 --> 00:14:35,450
‫Et c'est à cause de la mise en cache.

260
00:14:35,450 --> 00:14:38,800
‫Donc, techniquement, ce module n'a été chargé qu'une seule fois,

261
00:14:38,800 --> 00:14:42,850
‫et donc le code qu'il contient n'a également été exécuté qu'une seule fois.

262
00:14:42,850 --> 00:14:46,270
‫Et c'est pourquoi cette ligne de code ici,

263
00:14:46,270 --> 00:14:50,370
‫cette journalisation n'a été exécutée qu'une seule fois, d'accord ?

264
00:14:50,370 --> 00:14:53,320
‫Et donc ces deux autres journaux ici, eh bien, ils

265
00:14:53,320 --> 00:14:56,470
‫provenaient du cache, ils étaient donc stockés quelque part dans

266
00:14:56,470 --> 00:14:58,610
‫le cache des processus du nœud.

267
00:14:58,610 --> 00:15:01,540
‫Et une fois que nous avons appelé la fonction ici pour la

268
00:15:01,540 --> 00:15:03,390
‫deuxième fois, elle a simplement été récupérée

269
00:15:03,390 --> 00:15:06,520
‫à partir de là, au lieu de charger à nouveau le module, d'accord ?

270
00:15:06,520 --> 00:15:10,510
‫Donc, je suis sûr que cela a beaucoup de sens pour vous.

271
00:15:10,510 --> 00:15:13,450
‫Et c'était donc notre conférence, en fait.

272
00:15:13,450 --> 00:15:16,090
‫Si vous avez des questions, vous pouvez bien

273
00:15:16,090 --> 00:15:20,070
‫sûr, comme toujours, les poster dans le Q&A et vous y obtiendrez de l'aide.

274
00:15:20,070 --> 00:15:23,030
‫Cela termine donc toute cette section.

275
00:15:23,030 --> 00:15:27,750
‫Je sais que c'était assez difficile jusqu'à ce que nous arrivions à ce

276
00:15:27,750 --> 00:15:30,700
‫point, donc beaucoup de choses à assimiler.

277
00:15:30,700 --> 00:15:33,140
‫Et si vous avez tout corrigé à 100

278
00:15:33,140 --> 00:15:35,240
‫%, ne vous en faites pas

279
00:15:35,240 --> 00:15:36,800
‫trop, car tout au

280
00:15:36,800 --> 00:15:41,170
‫long du cours, la plupart des choses finiront par devenir claires, d'accord ?

281
00:15:41,170 --> 00:15:43,940
‫Alors ne vous inquiétez pas, continuez simplement à avancer dans le cours,

282
00:15:43,940 --> 00:15:45,790
‫et je vous verrai dans la section suivante.

