﻿1
00:00:01,254 --> 00:00:03,100
‫Jonas: Nesta palestra,

2
00:00:03,100 --> 00:00:06,373
‫quero mostrar algumas coisas diferentes que envolvem módulos.

3
00:00:07,720 --> 00:00:11,220
‫E eu quero começar basicamente provando a você que o

4
00:00:11,220 --> 00:00:15,300
‫Node de fato envolve o código em nossos módulos em uma

5
00:00:15,300 --> 00:00:17,270
‫função de invólucro, como

6
00:00:17,270 --> 00:00:19,420
‫mostrei a você na última aula.

7
00:00:19,420 --> 00:00:24,043
‫Portanto, vamos criar um novo arquivo novamente, módulo. js, e

8
00:00:25,270 --> 00:00:28,543
‫isso são módulos, como este.

9
00:00:29,900 --> 00:00:31,740
‫Ok, e o

10
00:00:31,740 --> 00:00:36,703
‫que vou fazer aqui é registrar no console os argumentos, ok?

11
00:00:38,480 --> 00:00:42,170
‫Portanto, argumentos é uma matriz em JavaScript e essa

12
00:00:42,170 --> 00:00:44,490
‫matriz contém todos os valores

13
00:00:44,490 --> 00:00:47,100
‫que foram passados para uma função.

14
00:00:47,100 --> 00:00:50,490
‫Então, quando eu logar essa matriz de argumentos

15
00:00:50,490 --> 00:00:53,110
‫no console, se realmente virmos alguns

16
00:00:53,110 --> 00:00:57,670
‫valores lá, bem, isso significa que estamos realmente em uma função, certo?

17
00:00:57,670 --> 00:01:00,633
‫Então, vamos rodar os módulos.

18
00:01:01,530 --> 00:01:06,530
‫E, de fato, aqui temos o código em nossos argumentos.

19
00:01:06,770 --> 00:01:09,050
‫E então, vamos lembrar os cinco

20
00:01:09,050 --> 00:01:10,760
‫argumentos da função wrapper.

21
00:01:10,760 --> 00:01:13,720
‫O primeiro é a exportação, então este, que

22
00:01:13,720 --> 00:01:14,790
‫está vazio

23
00:01:14,790 --> 00:01:17,030
‫porque não estamos exportando nada.

24
00:01:17,030 --> 00:01:19,560
‫A segunda é a função require, então podemos

25
00:01:19,560 --> 00:01:20,670
‫ver que

26
00:01:20,670 --> 00:01:23,100
‫aqui temos de fato a função require.

27
00:01:23,100 --> 00:01:26,673
‫Então o terceiro é chamado de módulo, ok.

28
00:01:28,280 --> 00:01:31,420
‫E no módulo temos as exportações de módulos, sobre

29
00:01:31,420 --> 00:01:34,100
‫as quais falamos novamente na última aula.

30
00:01:34,100 --> 00:01:37,250
‫E o que temos aqui não é tão importante, novamente,

31
00:01:37,250 --> 00:01:38,520
‫eu só queria

32
00:01:38,520 --> 00:01:41,570
‫mostrar que estamos realmente em uma função agora, de

33
00:01:41,570 --> 00:01:43,750
‫modo que todo o código que

34
00:01:43,750 --> 00:01:47,660
‫temos neste módulo está realmente embrulhado nesta função de invólucro, ok ?

35
00:01:47,660 --> 00:01:50,980
‫Em seguida, o número três e o número quatro são o nome do

36
00:01:50,980 --> 00:01:52,640
‫arquivo e o nome do diretório.

37
00:01:52,640 --> 00:01:56,735
‫E, de fato, este é o nome do módulo em que estamos

38
00:01:56,735 --> 00:01:59,260
‫atualmente, portanto, módulos. js.

39
00:01:59,260 --> 00:02:02,450
‫E aqui temos o nome do diretório.

40
00:02:02,450 --> 00:02:03,550
‫Estou na minha área

41
00:02:03,550 --> 00:02:05,970
‫de trabalho e agora nesta pasta de trabalhos do Node.

42
00:02:05,970 --> 00:02:07,740
‫Tão semelhante a este

43
00:02:07,740 --> 00:02:11,970
‫aqui, mas este tem uma barra no nome do módulo, certo?

44
00:02:11,970 --> 00:02:14,250
‫Então isso nos prova que,

45
00:02:14,250 --> 00:02:16,800
‫de fato, todo o código dentro de

46
00:02:16,800 --> 00:02:20,490
‫um módulo é empacotado, e que temos acesso a todas

47
00:02:20,490 --> 00:02:23,030
‫essas variáveis, então esses argumentos, ok?

48
00:02:23,030 --> 00:02:25,640
‫Então, acho que este é um experimento interessante

49
00:02:25,640 --> 00:02:26,960
‫que podemos fazer.

50
00:02:26,960 --> 00:02:29,860
‫E podemos realmente fazer outra coisa legal.

51
00:02:29,860 --> 00:02:32,980
‫Então, para realmente mostrar a

52
00:02:32,980 --> 00:02:37,980
‫função do wrapper, podemos exigir o módulo do módulo, ok.

53
00:02:38,300 --> 00:02:40,200
‫Portanto, há um módulo chamado

54
00:02:40,200 --> 00:02:44,410
‫módulo, que na verdade nunca usamos, mas internamente o Node o usa.

55
00:02:44,410 --> 00:02:47,190
‫E aí temos o invólucro.

56
00:02:47,190 --> 00:02:49,290
‫E então essa propriedade é na verdade

57
00:02:49,290 --> 00:02:51,030
‫a função de invólucro.

58
00:02:51,030 --> 00:02:52,730
‫Portanto, agora podemos dar uma olhada nisso.

59
00:02:57,410 --> 00:03:00,140
‫E onde fica isso, ah, sim.

60
00:03:00,140 --> 00:03:01,720
‫Então aqui, aqui está realmente.

61
00:03:01,720 --> 00:03:04,410
‫Portanto, esta é a função de invólucro.

62
00:03:04,410 --> 00:03:06,650
‫E, de fato, você vê export, require,

63
00:03:06,650 --> 00:03:09,800
‫module, filename e nome do diretório, e então o

64
00:03:09,800 --> 00:03:11,160
‫corpo da função.

65
00:03:11,160 --> 00:03:13,520
‫E isso é o que o

66
00:03:13,520 --> 00:03:16,220
‫Node usa internamente, basicamente este modelo aqui, ele o

67
00:03:16,220 --> 00:03:20,060
‫usa e, em seguida, preenche o corpo dessa função com nosso código.

68
00:03:20,060 --> 00:03:23,260
‫Ok, então novamente, apenas um experimento interessante aqui.

69
00:03:23,260 --> 00:03:25,260
‫Agora, a coisa mais importante que

70
00:03:25,260 --> 00:03:27,960
‫quero mostrar a vocês aqui é como podemos exportar e

71
00:03:27,960 --> 00:03:30,370
‫importar dados de um módulo para o outro.

72
00:03:30,370 --> 00:03:33,130
‫E então vamos começar criando um novo módulo

73
00:03:33,130 --> 00:03:35,280
‫aqui, no qual vou criar uma

74
00:03:35,280 --> 00:03:38,040
‫calculadora, um pouco como mencionei no último vídeo.

75
00:03:38,040 --> 00:03:42,180
‫Então, vamos chamar este test-module-1, porque

76
00:03:42,180 --> 00:03:44,393
‫teremos alguns deles.

77
00:03:45,300 --> 00:03:47,763
‫E aqui vou criar uma classe de calculadora.

78
00:03:49,810 --> 00:03:52,890
‫Portanto, novamente, esta é a

79
00:03:52,890 --> 00:03:56,053
‫sintaxe ES6 para escrever classes em JavaScript.

80
00:03:57,260 --> 00:04:01,033
‫Então, vamos adicionar alguns métodos aqui, então adicionar

81
00:04:04,760 --> 00:04:08,100
‫aeb, irá naturalmente retornar a mais b,

82
00:04:08,100 --> 00:04:12,920
‫então coisas muito simples, multiplique a, b, retornará a vezes b,

83
00:04:14,020 --> 00:04:17,317
‫e então, vamos apenas dividir também,

84
00:04:21,785 --> 00:04:22,950
‫apenas por

85
00:04:22,950 --> 00:04:26,580
‫uma questão de integridade aqui, a, b, assim.

86
00:04:29,470 --> 00:04:32,170
‫Salve, formata bem e agora podemos

87
00:04:32,170 --> 00:04:36,420
‫fazer o módulo. exportações, assim como vimos

88
00:04:36,420 --> 00:04:38,370
‫no último vídeo,

89
00:04:39,970 --> 00:04:42,690
‫e estamos exportando nossa calculadora, ok?

90
00:04:42,690 --> 00:04:45,000
‫Então, novamente, usamos o módulo. exporta

91
00:04:45,000 --> 00:04:48,010
‫quando queremos exportar um único valor.

92
00:04:48,010 --> 00:04:49,830
‫E, neste caso, nosso único

93
00:04:49,830 --> 00:04:51,660
‫valor aqui é a classe da calculadora.

94
00:04:51,660 --> 00:04:55,180
‫Portanto, módulo. exportações é exatamente o

95
00:04:55,180 --> 00:04:58,340
‫que é retornado de um módulo, então tudo o

96
00:04:58,340 --> 00:05:01,320
‫que colocamos lá, bem, é exportado automaticamente, certo?

97
00:05:01,320 --> 00:05:03,460
‫Podemos então salvar o valor exportado

98
00:05:03,460 --> 00:05:07,023
‫em uma variável ao importá-lo, então vamos fazer isso agora.

99
00:05:08,540 --> 00:05:12,070
‫E agora podemos dar a ele qualquer nome que quisermos.

100
00:05:12,070 --> 00:05:15,390
‫Então, o nome que estamos exportando do outro lado,

101
00:05:15,390 --> 00:05:17,380
‫nesse outro módulo, não importa.

102
00:05:17,380 --> 00:05:19,363
‫Podemos chamá-lo do que quisermos aqui.

103
00:05:20,810 --> 00:05:24,150
‫Nesse sentido, é como um retorno de função normal, certo,

104
00:05:24,150 --> 00:05:26,400
‫então podemos sempre retornar qualquer variável,

105
00:05:26,400 --> 00:05:28,320
‫mas chamá-la de outra coisa

106
00:05:28,320 --> 00:05:31,590
‫quando basicamente salvamos o resultado de uma função em

107
00:05:31,590 --> 00:05:33,023
‫uma variável, certo?

108
00:05:34,580 --> 00:05:36,780
‫Portanto, como é nosso

109
00:05:36,780 --> 00:05:41,780
‫próprio módulo, temos que usar a barra de ponto, o que

110
00:05:42,010 --> 00:05:44,600
‫eu fiz aqui, e então test-module-1.

111
00:05:44,600 --> 00:05:47,830
‫E o JS, lembre-se, podemos simplesmente abandonar isso,

112
00:05:47,830 --> 00:05:49,990
‫não é necessário, ok?

113
00:05:49,990 --> 00:05:53,560
‫E então essa variável C aqui, que é

114
00:05:53,560 --> 00:05:57,330
‫maiúscula porque para a classe geralmente usamos nomes em maiúsculas.

115
00:05:57,330 --> 00:06:01,000
‫E lembre-se, na verdade, estamos exportando uma classe aqui.

116
00:06:01,000 --> 00:06:04,783
‫Ok, agora podemos usar essa classe para fazer alguns cálculos.

117
00:06:06,230 --> 00:06:08,853
‫Então, primeiro vamos criar uma

118
00:06:10,200 --> 00:06:12,650
‫nova calculadora, calculadora, porque mais

119
00:06:12,650 --> 00:06:15,090
‫tarde teremos outra, ok?

120
00:06:15,090 --> 00:06:18,650
‫E agora criamos uma nova instância de uma calculadora como

121
00:06:18,650 --> 00:06:20,500
‫esta, e isso não

122
00:06:20,500 --> 00:06:23,290
‫deve ser nenhuma novidade para você neste momento.

123
00:06:23,290 --> 00:06:25,900
‫E então vamos registrar através do console o

124
00:06:25,900 --> 00:06:27,793
‫resultado de realmente usar isso.

125
00:06:28,850 --> 00:06:33,850
‫Então calc1. adicione, e digamos dois e cinco.

126
00:06:37,210 --> 00:06:40,443
‫Salve e, na verdade, vamos comentar esses dois.

127
00:06:42,550 --> 00:06:45,920
‫Salve-o novamente e, em seguida, os módulos do Node, e

128
00:06:45,920 --> 00:06:47,940
‫aqui temos o resultado, sete.

129
00:06:47,940 --> 00:06:51,900
‫Então são dois mais cinco, então funciona, certo?

130
00:06:51,900 --> 00:06:54,290
‫E aqui em nosso módulo de

131
00:06:54,290 --> 00:06:57,970
‫teste, podemos realmente fazer isso de uma forma mais elegante.

132
00:06:57,970 --> 00:07:00,300
‫Portanto, poderíamos atribuir essa classe aqui

133
00:07:00,300 --> 00:07:03,190
‫diretamente ao módulo. exportações, certo?

134
00:07:03,190 --> 00:07:06,270
‫Portanto, agora temos uma declaração de classe, que

135
00:07:06,270 --> 00:07:08,570
‫é um pouco como uma

136
00:07:08,570 --> 00:07:12,200
‫declaração de função, onde dizemos calculadora de função e, em

137
00:07:12,200 --> 00:07:14,870
‫seguida, isso, e aqui dizemos classe, ok?

138
00:07:14,870 --> 00:07:18,520
‫Mas também poderíamos fazer isso com uma expressão de classe.

139
00:07:18,520 --> 00:07:22,050
‫E assim, simplesmente não usamos o nome da calculadora

140
00:07:22,050 --> 00:07:23,660
‫de qualquer maneira.

141
00:07:23,660 --> 00:07:25,023
‫Então copie, comente.

142
00:07:28,450 --> 00:07:30,760
‫Ok, então assim.

143
00:07:30,760 --> 00:07:32,650
‫Portanto, apenas dizemos que se trata

144
00:07:32,650 --> 00:07:34,970
‫de uma classe e a atribuímos a uma variável.

145
00:07:34,970 --> 00:07:36,593
‫E isso agora é uma expressão.

146
00:07:37,600 --> 00:07:39,470
‫Então, vamos rodar de

147
00:07:39,470 --> 00:07:43,120
‫novo e veremos, é claro, nosso sete de novo, ok?

148
00:07:43,120 --> 00:07:47,471
‫Então, novamente, isso é apenas para atribuir imediatamente o valor

149
00:07:47,471 --> 00:07:50,520
‫que queremos modular. exportações, e isso

150
00:07:50,520 --> 00:07:53,280
‫vai nos poupar algumas linhas de código

151
00:07:53,280 --> 00:07:56,473
‫e, provavelmente, fazer nosso código parecer um pouco melhor.

152
00:07:57,390 --> 00:08:01,590
‫Ok, é assim que exportamos as coisas com o módulo. exportações, e agora vamos

153
00:08:01,590 --> 00:08:05,160
‫ver como e quando podemos usar a abreviação

154
00:08:05,160 --> 00:08:07,820
‫de exportações que também mencionei no

155
00:08:07,820 --> 00:08:08,973
‫vídeo anterior.

156
00:08:10,970 --> 00:08:14,433
‫Então, vamos apenas criar um comentário simples aqui, módulo. exportações.

157
00:08:16,930 --> 00:08:19,300
‫Então aqui só exporta.

158
00:08:19,300 --> 00:08:24,300
‫Portanto, um novo teste de módulo e, novamente, módulo-2. js.

159
00:08:27,930 --> 00:08:31,790
‫E então a alternativa para fazer o módulo. exportações é

160
00:08:31,790 --> 00:08:36,120
‫adicionar propriedades ao próprio objeto de exportação.

161
00:08:36,120 --> 00:08:37,680
‫Então poderíamos fazer

162
00:08:37,680 --> 00:08:40,740
‫assim, e usando novamente o exemplo da calculadora

163
00:08:40,740 --> 00:08:42,410
‫anterior, poderíamos fazer assim.

164
00:08:42,410 --> 00:08:46,253
‫Portanto, podemos simplesmente adicionar propriedades ao objeto de exportação.

165
00:08:48,640 --> 00:08:53,640
‫Portanto, aeb retornarão a mais

166
00:08:54,490 --> 00:08:59,490
‫b, exportações. multiplique a, b retornará a vezes

167
00:09:06,880 --> 00:09:08,280
‫b, e

168
00:09:10,730 --> 00:09:15,690
‫agora vamos apenas duplicar apenas para completar novamente, e tudo bem.

169
00:09:15,690 --> 00:09:18,600
‫Portanto, criamos basicamente três funções anônimas

170
00:09:18,600 --> 00:09:20,720
‫aqui, essas três, e

171
00:09:20,720 --> 00:09:24,190
‫as atribuímos a três propriedades de exportações.

172
00:09:24,190 --> 00:09:27,750
‫E agora, quando exportamos este módulo do outro

173
00:09:27,750 --> 00:09:31,400
‫lado, então em módulos. js, teremos basicamente

174
00:09:31,400 --> 00:09:34,230
‫acesso a este objeto de exportação.

175
00:09:34,230 --> 00:09:36,290
‫Então, deixe-me mostrar isso a você.

176
00:09:36,290 --> 00:09:38,820
‫Então, digamos que const calc2 seja obrigatório.

177
00:09:43,490 --> 00:09:46,640
‫Novamente, não se esqueça do ponto e da barra,

178
00:09:46,640 --> 00:09:48,683
‫porque é nosso próprio módulo.

179
00:09:50,400 --> 00:09:55,400
‫Ok, e agora este calc2 aqui é o objeto de exportação.

180
00:09:55,940 --> 00:09:58,800
‫Ok, deixe-me mostrar isso a você.

181
00:09:58,800 --> 00:10:03,207
‫Console. log, calc2. some, dois e cinco.

182
00:10:06,670 --> 00:10:09,823
‫Portanto, isso deve nos dar exatamente o mesmo resultado de antes.

183
00:10:11,870 --> 00:10:15,313
‫E, de fato, aqui está o nosso sete, exatamente como antes.

184
00:10:16,997 --> 00:10:18,147
‫E se

185
00:10:20,240 --> 00:10:24,000
‫nós multiplicássemos, então isso deveria ser, claro, 10.

186
00:10:24,000 --> 00:10:26,820
‫E então, sim, temos sete aqui a partir da adição aqui,

187
00:10:26,820 --> 00:10:28,793
‫e então essa multiplicação nos dá 10.

188
00:10:29,660 --> 00:10:31,460
‫Espero que isso realmente faça

189
00:10:31,460 --> 00:10:34,370
‫diferença entre os módulos. exportações e exportações claras.

190
00:10:34,370 --> 00:10:37,150
‫E então, novamente, quando estamos usando simplesmente

191
00:10:37,150 --> 00:10:41,360
‫exportações, podemos adicionar coisas a este objeto, basicamente propriedades, e

192
00:10:41,360 --> 00:10:43,470
‫então quando importarmos isso, então

193
00:10:43,470 --> 00:10:45,900
‫quando exigirmos este módulo, o resultado

194
00:10:45,900 --> 00:10:47,340
‫que vamos

195
00:10:47,340 --> 00:10:50,400
‫obter é um objeto contendo todas essas propriedades.

196
00:10:50,400 --> 00:10:52,180
‫E já que estamos recebendo

197
00:10:52,180 --> 00:10:55,260
‫um objeto, podemos usar o poder da desestruturação do

198
00:10:55,260 --> 00:10:58,023
‫ES6 para fazer uma mágica legal aqui, basicamente.

199
00:10:59,000 --> 00:11:02,843
‫Então deixe-me me livrar deste, ou na

200
00:11:03,710 --> 00:11:07,690
‫verdade duplicá-lo, comentar este aqui, e assim podemos

201
00:11:07,690 --> 00:11:12,130
‫usar a desestruturação para desestruturar o objeto que obtivermos, ok?

202
00:11:12,130 --> 00:11:16,140
‫E funciona assim, então usamos as chaves e, em

203
00:11:16,140 --> 00:11:18,200
‫seguida, simplesmente criamos nomes

204
00:11:18,200 --> 00:11:21,460
‫de variáveis para as propriedades desse objeto.

205
00:11:21,460 --> 00:11:26,460
‫Então, novamente, vamos usar adicionar, multiplicar e dividir.

206
00:11:26,860 --> 00:11:30,380
‫Então esses são os nomes que realmente temos

207
00:11:30,380 --> 00:11:32,450
‫neste objeto de exportação.

208
00:11:32,450 --> 00:11:34,680
‫Portanto, some, multiplique e divida,

209
00:11:34,680 --> 00:11:37,080
‫e estes devem ter exatamente o

210
00:11:37,080 --> 00:11:39,330
‫mesmo nome do objeto original, certo?

211
00:11:39,330 --> 00:11:41,100
‫Agora, o que isso

212
00:11:41,100 --> 00:11:43,960
‫fará é basicamente criar uma variável chamada

213
00:11:43,960 --> 00:11:45,523
‫simplesmente multiplicar.

214
00:11:47,820 --> 00:11:50,400
‫E então, de fato, aqui está nosso resultado.

215
00:11:50,400 --> 00:11:53,980
‫E, na verdade, só podemos importar aqueles que desejamos.

216
00:11:53,980 --> 00:11:57,470
‫Então, digamos que queremos apenas somar e multiplicar, certo?

217
00:11:57,470 --> 00:12:00,290
‫E assim só teremos acesso a esses

218
00:12:00,290 --> 00:12:03,340
‫dois, ao invés de importar tudo do módulo.

219
00:12:03,340 --> 00:12:05,160
‫E este é um padrão

220
00:12:05,160 --> 00:12:07,240
‫bastante comum que você verá usado no

221
00:12:07,240 --> 00:12:09,930
‫Node, e faremos isso ao longo do projeto também.

222
00:12:09,930 --> 00:12:11,630
‫Ok, então neste

223
00:12:11,630 --> 00:12:14,030
‫vídeo falamos sobre a função wrapper

224
00:12:14,030 --> 00:12:16,280
‫aqui, depois falamos sobre exportar

225
00:12:16,280 --> 00:12:20,110
‫e importar usando o módulo. exportações e a taquigrafia de exportações.

226
00:12:20,110 --> 00:12:21,810
‫E agora, finalmente, só para

227
00:12:21,810 --> 00:12:24,523
‫terminar, vamos falar sobre armazenamento em cache muito rapidamente.

228
00:12:27,060 --> 00:12:30,143
‫Ok, então vamos criar test-module-3 aqui.

229
00:12:35,860 --> 00:12:39,603
‫E o que vou fazer aqui é criar um console. log, então, basicamente, algum

230
00:12:41,070 --> 00:12:44,193
‫código de nível superior dentro deste módulo.

231
00:12:46,710 --> 00:12:49,793
‫Olá do módulo, ok, também

232
00:12:50,892 --> 00:12:53,973
‫quero exportar uma função.

233
00:12:54,830 --> 00:12:58,770
‫Apenas uma única função, então estou falando de módulo. exporta a

234
00:13:00,920 --> 00:13:05,920
‫função igual a sem nenhum argumento, que

235
00:13:06,300 --> 00:13:08,300
‫simplesmente registrará no

236
00:13:10,110 --> 00:13:13,673
‫console: registre este belo texto.

237
00:13:14,920 --> 00:13:17,883
‫Apenas alguns pequenos emojis aqui para fazê-lo estourar um pouco.

238
00:13:20,210 --> 00:13:25,133
‫Ok, agora vamos exigir este módulo de teste.

239
00:13:28,170 --> 00:13:32,070
‫Test-module-3, e não o estou salvando em nenhuma variável.

240
00:13:32,070 --> 00:13:34,750
‫Em vez disso, vou chamar a função

241
00:13:34,750 --> 00:13:37,250
‫imediatamente, sem salvá-la em uma variável.

242
00:13:37,250 --> 00:13:38,860
‫Claro que poderíamos fazer

243
00:13:38,860 --> 00:13:41,530
‫isso, teríamos a função em uma variável

244
00:13:41,530 --> 00:13:43,070
‫e poderíamos chamá-la.

245
00:13:43,070 --> 00:13:45,070
‫Mas isso é exatamente

246
00:13:45,070 --> 00:13:48,530
‫a mesma coisa, porque isso vai retornar essa função

247
00:13:48,530 --> 00:13:50,630
‫que definimos, então essa aqui, certo?

248
00:13:50,630 --> 00:13:53,610
‫Ele retornará isso porque estamos usando o módulo. exportações, e

249
00:13:53,610 --> 00:13:57,727
‫então imediatamente chamamos essa função aqui, ok?

250
00:13:57,727 --> 00:14:00,890
‫E então vamos fazer isso três vezes.

251
00:14:00,890 --> 00:14:04,980
‫E lembrando que temos caching no Node. módulos js, o que você

252
00:14:04,980 --> 00:14:08,053
‫acha que vai acontecer quando executarmos este código?

253
00:14:09,580 --> 00:14:13,933
‫Ok, então vamos rodar isso e ver o que vai acontecer.

254
00:14:16,770 --> 00:14:19,460
‫Aqui temos o resultado, olá do

255
00:14:19,460 --> 00:14:22,980
‫módulo, e depois registramos três vezes esse belo texto.

256
00:14:22,980 --> 00:14:26,520
‫Portanto, temos esse registro aqui três vezes, bem, porque

257
00:14:26,520 --> 00:14:29,350
‫chamamos a mesma função três vezes.

258
00:14:29,350 --> 00:14:33,320
‫Mas recebemos um alô do módulo apenas uma vez, certo?

259
00:14:33,320 --> 00:14:35,450
‫E isso é por causa do cache.

260
00:14:35,450 --> 00:14:38,800
‫Então, tecnicamente, este módulo foi carregado apenas uma vez,

261
00:14:38,800 --> 00:14:42,850
‫e o código dentro dele também foi executado apenas uma vez.

262
00:14:42,850 --> 00:14:46,270
‫E é por isso que essa linha de

263
00:14:46,270 --> 00:14:50,370
‫código aqui, esse log só foi executado uma vez, ok?

264
00:14:50,370 --> 00:14:53,320
‫E esses outros dois registros aqui, bem, eles vieram

265
00:14:53,320 --> 00:14:56,470
‫do cache, então foram armazenados em algum lugar no

266
00:14:56,470 --> 00:14:58,610
‫cache de processos do Node.

267
00:14:58,610 --> 00:15:01,540
‫E assim que chamamos a função aqui pela segunda

268
00:15:01,540 --> 00:15:03,390
‫vez, ela foi simplesmente recuperada

269
00:15:03,390 --> 00:15:06,520
‫de lá, em vez de carregar o módulo novamente, ok?

270
00:15:06,520 --> 00:15:10,510
‫Portanto, tenho certeza de que faz muito sentido para você.

271
00:15:10,510 --> 00:15:13,450
‫E então essa foi nossa palestra, na verdade.

272
00:15:13,450 --> 00:15:16,090
‫Se você tiver alguma dúvida, pode, como

273
00:15:16,090 --> 00:15:20,070
‫sempre, postá-la na seção de perguntas e respostas e obter ajuda lá.

274
00:15:20,070 --> 00:15:23,030
‫Isso conclui toda esta seção.

275
00:15:23,030 --> 00:15:27,750
‫Eu sei que foi uma jornada e tanto até chegarmos a este ponto,

276
00:15:27,750 --> 00:15:30,700
‫então um monte de coisas para aprender.

277
00:15:30,700 --> 00:15:33,140
‫E se você corrigiu tudo 100%, não

278
00:15:33,140 --> 00:15:35,240
‫se preocupe muito com isso, pois

279
00:15:35,240 --> 00:15:36,800
‫ao longo do

280
00:15:36,800 --> 00:15:41,170
‫curso, a maior parte das coisas vai ficando claras um dia, ok?

281
00:15:41,170 --> 00:15:43,940
‫Portanto, não se preocupe, apenas continue avançando no curso,

282
00:15:43,940 --> 00:15:45,790
‫e vejo você na próxima seção.

