﻿1
00:00:01,160 --> 00:00:03,510
‫Instrutor: Agora vamos refatorar completamente nosso aplicativo

2
00:00:03,510 --> 00:00:05,710
‫que temos até agora e criar

3
00:00:05,710 --> 00:00:07,520
‫muitos arquivos novos e

4
00:00:07,520 --> 00:00:09,623
‫uma estrutura de arquivos totalmente nova.

5
00:00:11,130 --> 00:00:13,063
‫Portanto, lembre-se do último vídeo

6
00:00:13,063 --> 00:00:15,470
‫que queríamos separar nossos roteadores em

7
00:00:15,470 --> 00:00:16,570
‫arquivos diferentes.

8
00:00:16,570 --> 00:00:19,520
‫E essa será a primeira etapa que faremos aqui.

9
00:00:20,550 --> 00:00:23,843
‫Vou criar uma nova pasta chamada Routes

10
00:00:26,630 --> 00:00:30,960
‫agora, e aí terei uma pasta para as rotas do tour. js e, em seguida, as rotas do usuário. js também.

11
00:00:34,117 --> 00:00:37,203
‫Ok, esta será a primeira vez que realmente trabalharemos

12
00:00:39,777 --> 00:00:41,800
‫com diferentes módulos, ok, e

13
00:00:41,800 --> 00:00:44,520
‫realmente os usaremos de uma maneira muito significativa.

14
00:00:44,520 --> 00:00:48,070
‫Então, vamos começar com o roteador de tour.

15
00:00:48,070 --> 00:00:51,783
‫Copie-o aqui e, em seguida, pegue este roteador

16
00:00:53,290 --> 00:00:56,693
‫de tour aqui e coloque-o aqui.

17
00:01:00,300 --> 00:01:05,293
‫E então, em seguida, precisamos realmente Express aqui, porque estamos usando

18
00:01:07,500 --> 00:01:08,593
‫essa variável

19
00:01:10,190 --> 00:01:13,640
‫e, portanto, precisamos importar o módulo Express.

20
00:01:13,640 --> 00:01:15,380
‫Então

21
00:01:15,380 --> 00:01:18,893
‫expresse, exija express.

22
00:01:22,190 --> 00:01:23,303
‫Ok, é uma espécie

23
00:01:26,780 --> 00:01:29,010
‫de convenção simplesmente chamar este roteador, e não tourRouter.

24
00:01:29,010 --> 00:01:33,550
‫Roteador, agora vamos exportar o roteador e depois importá-lo para nosso

25
00:01:33,550 --> 00:01:34,940
‫aplicativo principal, certo?

26
00:01:36,110 --> 00:01:39,880
‫Então, lembra como fazemos quando só

27
00:01:39,880 --> 00:01:43,423
‫temos uma coisa para exportar?

28
00:01:45,110 --> 00:01:47,170
‫Bem, usamos módulo. exportações e, em

29
00:01:47,170 --> 00:01:49,860
‫seguida, coloque o roteador lá.

30
00:01:49,860 --> 00:01:52,870
‫Salve-o e, claro, ainda

31
00:01:52,870 --> 00:01:56,053
‫teremos alguns erros, mas isso porque o roteador do

32
00:01:57,430 --> 00:02:00,810
‫tour não está definido em nosso arquivo de aplicativo principal.

33
00:02:00,810 --> 00:02:02,210
‫Ok, também o que

34
00:02:02,210 --> 00:02:05,313
‫não está definido neste arquivo são todas essas funções aqui.

35
00:02:06,290 --> 00:02:09,510
‫Ok, vamos obtê-los rapidamente e colocá-los

36
00:02:09,510 --> 00:02:12,060
‫no arquivo do roteador.

37
00:02:12,060 --> 00:02:14,830
‫Pelo menos por enquanto, criaremos posteriormente um

38
00:02:14,830 --> 00:02:17,100
‫novo arquivo para isso também.

39
00:02:17,100 --> 00:02:19,700
‫Então, começa aqui.

40
00:02:19,700 --> 00:02:22,270
‫Cuidado, não copiando tudo.

41
00:02:22,270 --> 00:02:24,123
‫Sim, apenas assim.

42
00:02:26,010 --> 00:02:27,803
‫E, na verdade, vou colocá-los antes das rotas.

43
00:02:31,500 --> 00:02:33,633
‫Dê uma chance.

44
00:02:36,250 --> 00:02:39,213
‫E isso deve funcionar agora.

45
00:02:41,820 --> 00:02:42,703
‫E agora faça o mesmo para o usuário.

46
00:02:43,930 --> 00:02:45,330
‫Então pegue o roteador.

47
00:02:46,910 --> 00:02:49,453
‫E não se preocupe com todos esses erros que estamos recebendo.

48
00:02:53,390 --> 00:02:55,033
‫Novamente, isso é apenas

49
00:02:56,860 --> 00:02:59,560
‫porque algumas variáveis estão faltando em alguns lugares.

50
00:02:59,560 --> 00:03:01,770
‫Então, novamente, nós expressamos aqui, chamamos isso

51
00:03:01,770 --> 00:03:03,270
‫aqui de apenas roteador

52
00:03:04,640 --> 00:03:06,363
‫e, em seguida, o exportamos.

53
00:03:12,250 --> 00:03:14,253
‫Ok, e agora também estou recebendo os manipuladores.

54
00:03:16,720 --> 00:03:17,820
‫Ok, então podemos nos livrar desses gerenciadores de rota agora.

55
00:03:27,150 --> 00:03:30,673
‫Ok, e na verdade este aqui está faltando

56
00:03:39,620 --> 00:03:43,710
‫em nossas rotas de passeio, então este pedaço de

57
00:03:43,710 --> 00:03:46,340
‫código onde realmente lemos os passeios

58
00:03:46,340 --> 00:03:47,940
‫do arquivo JSON.

59
00:03:47,940 --> 00:03:51,240
‫Então coloque isso bem no topo aqui.

60
00:03:51,240 --> 00:03:53,063
‫E agora, finalmente, precisamos importar o roteador

61
00:03:56,479 --> 00:03:58,179
‫de tour e o roteador

62
00:03:59,410 --> 00:04:01,610
‫de usuário para que essas rotas continuem funcionando.

63
00:04:01,610 --> 00:04:04,290
‫Ok, mas isso deve ser bastante fácil, então vamos fazer isso.

64
00:04:04,290 --> 00:04:06,833
‫Assim, com o roteador

65
00:04:07,830 --> 00:04:11,593
‫de tour, é necessário, routes /

66
00:04:16,298 --> 00:04:17,498
‫tourRoutes.

67
00:04:19,200 --> 00:04:20,683
‫Ok, e não precisamos do

68
00:04:23,260 --> 00:04:24,953
‫JS, e o mesmo para o userRouter.

69
00:04:27,890 --> 00:04:31,510
‫Então tourRoutes está realmente aqui, userRoutes.

70
00:04:31,510 --> 00:04:34,280
‫Agora você deve estar se perguntando por que eu

71
00:04:37,341 --> 00:04:41,258
‫realmente chamei as variáveis de userRoute, mas o arquivo é userRoutes, e bem,

72
00:04:43,140 --> 00:04:45,260
‫isso é porque esta pasta aqui

73
00:04:45,260 --> 00:04:47,410
‫é chamada de rotas e aí temos

74
00:04:47,410 --> 00:04:49,380
‫o tourRoutes e o userRoutes.

75
00:04:49,380 --> 00:04:52,400
‫Ok, mas o que realmente exportamos

76
00:04:52,400 --> 00:04:55,780
‫desse arquivo é simplesmente o roteador, certo?

77
00:04:55,780 --> 00:04:58,650
‫Mas acredito que faz mais sentido

78
00:04:58,650 --> 00:05:01,130
‫chamar essa pasta de Rotas.

79
00:05:01,130 --> 00:05:02,680
‫Ok, é por isso

80
00:05:02,680 --> 00:05:05,890
‫que temos essa pequena diferença entre rotas e roteador.

81
00:05:05,890 --> 00:05:08,010
‫Agora ainda temos alguns erros aqui e, portanto,

82
00:05:08,010 --> 00:05:10,410
‫fs não está definido, então vamos pegar isso

83
00:05:10,410 --> 00:05:12,490
‫e, na verdade, não precisamos dele

84
00:05:12,490 --> 00:05:15,200
‫aqui, então vamos colocá-lo nas rotas de passeio bem aqui.

85
00:05:15,200 --> 00:05:18,150
‫Recebemos outro erro.

86
00:05:18,150 --> 00:05:23,023
‫E desta vez, porque esta pasta aqui agora não está definida, porque nosso dirname

87
00:05:24,730 --> 00:05:26,450
‫agora são as rotas.

88
00:05:26,450 --> 00:05:30,440
‫Então, precisamos sair disso.

89
00:05:30,440 --> 00:05:34,120
‫Suba uma pasta e, em seguida, vá para

90
00:05:34,120 --> 00:05:36,430
‫dev-data, data e tour-simple.

91
00:05:36,430 --> 00:05:39,090
‫Agora não se preocupe em obter todos esses erros.

92
00:05:39,090 --> 00:05:42,130
‫Isso é normal quando estamos fazendo toda essa refatoração

93
00:05:42,130 --> 00:05:44,320
‫porque estamos mudando coisas em

94
00:05:44,320 --> 00:05:47,850
‫todos os lugares, então é normal que as coisas quebrem.

95
00:05:47,850 --> 00:05:49,890
‫De qualquer forma, agora estamos

96
00:05:49,890 --> 00:05:52,163
‫de volta ao trabalho, e agora estamos

97
00:05:53,270 --> 00:05:56,010
‫no lugar onde podemos retestar nossas rotas aqui.

98
00:05:56,010 --> 00:05:58,820
‫E, de fato, funciona.

99
00:05:58,820 --> 00:06:00,763
‫O mesmo para os usuários, vamos supor.

100
00:06:02,150 --> 00:06:04,490
‫E assim está tudo correto.

101
00:06:04,490 --> 00:06:06,910
‫Portanto, temos nossos roteadores agora,

102
00:06:06,910 --> 00:06:10,000
‫cada um em um arquivo diferente, e podemos

103
00:06:10,000 --> 00:06:13,760
‫dizer que cada um deles é um pequeno subaplicativo.

104
00:06:13,760 --> 00:06:15,540
‫Portanto, um aplicativo de tour e um aplicativo de usuário.

105
00:06:15,540 --> 00:06:17,970
‫E então colocamos tudo junto em

106
00:06:17,970 --> 00:06:21,120
‫nosso arquivo de aplicativo global importando esses

107
00:06:21,120 --> 00:06:24,290
‫roteadores e, em seguida, montando os roteadores nas

108
00:06:24,290 --> 00:06:26,200
‫duas rotas diferentes que

109
00:06:26,200 --> 00:06:28,050
‫implementamos atualmente, certo?

110
00:06:28,050 --> 00:06:29,720
‫Novamente, é aqui que montamos nossos roteadores.

111
00:06:29,720 --> 00:06:32,550
‫E eu sei que esse conceito pode

112
00:06:32,550 --> 00:06:36,020
‫ser um pouco difícil de entender, mas não se

113
00:06:36,020 --> 00:06:37,360
‫preocupe com isso.

114
00:06:37,360 --> 00:06:39,710
‫Quanto mais tempo você continuar trabalhando neste projeto e

115
00:06:39,710 --> 00:06:40,910
‫quanto mais código

116
00:06:40,910 --> 00:06:43,230
‫você continuar escrevendo, mais claro tudo ficará automaticamente.

117
00:06:43,230 --> 00:06:45,000
‫Por enquanto, o mais importante

118
00:06:45,000 --> 00:06:48,260
‫a se ter em mente é que criamos esses roteadores diferentes

119
00:06:48,260 --> 00:06:50,640
‫para cada um dos recursos para ter uma

120
00:06:50,640 --> 00:06:53,020
‫boa separação de interesses entre esses recursos.

121
00:06:53,020 --> 00:06:55,390
‫Então, basicamente, criar um pequeno aplicativo

122
00:06:55,390 --> 00:06:58,910
‫para cada um deles e, em seguida, colocar tudo

123
00:06:58,910 --> 00:07:02,750
‫junto em um arquivo de aplicativo principal, que é obviamente este.

124
00:07:02,750 --> 00:07:06,720
‫Então, este app. O arquivo js que temos aqui geralmente é usado principalmente

125
00:07:06,720 --> 00:07:08,640
‫para declarações de middleware.

126
00:07:08,640 --> 00:07:11,060
‫Portanto, temos todo

127
00:07:11,060 --> 00:07:14,490
‫o nosso middleware que queremos aplicar a todas as rotas.

128
00:07:14,490 --> 00:07:15,900
‫Portanto, neste caso, temos esses quatro middlewares aqui.

129
00:07:15,900 --> 00:07:18,630
‫Então, um, dois, três, quatro.

130
00:07:18,630 --> 00:07:21,610
‫Esses middlewares, queremos aplicá-los para todas

131
00:07:21,610 --> 00:07:23,240
‫as rotas

132
00:07:23,240 --> 00:07:27,240
‫e então para esta rota, queremos aplicar o

133
00:07:27,240 --> 00:07:29,050
‫middleware tourRouter, e para

134
00:07:29,050 --> 00:07:32,576
‫esta rota, queremos aplicar o middleware userRouter.

135
00:07:32,576 --> 00:07:34,160
‫Ok, então novamente, esses dois roteadores são,

136
00:07:34,160 --> 00:07:36,430
‫na verdade, middleware, e é por isso que podemos usar o app. usar para montá-los.

137
00:07:36,430 --> 00:07:40,440
‫Ok, com isso dito, vamos dar um passo

138
00:07:40,440 --> 00:07:45,010
‫adiante e remover esses manipuladores

139
00:07:45,010 --> 00:07:46,740
‫de rota

140
00:07:46,740 --> 00:07:48,820
‫do arquivo de rotas.

141
00:07:48,820 --> 00:07:52,100
‫Ok, então vamos novamente criar uma nova pasta aqui, e

142
00:07:52,100 --> 00:07:53,890
‫esta se chamará controladores, ok?

143
00:07:53,890 --> 00:07:57,870
‫Eu os chamo de manipuladores de rota e, portanto,

144
00:07:57,870 --> 00:08:01,500
‫faria sentido criar uma pasta de manipuladores.

145
00:08:01,500 --> 00:08:03,810
‫Porém, posteriormente neste curso, começaremos a

146
00:08:03,810 --> 00:08:07,270
‫usar uma arquitetura de software chamada Model View Controller

147
00:08:07,270 --> 00:08:08,350
‫e, nessa

148
00:08:08,350 --> 00:08:10,610
‫arquitetura, essas funções de manipulador aqui

149
00:08:10,610 --> 00:08:12,820
‫são, na verdade, chamadas de controladores.

150
00:08:12,820 --> 00:08:15,720
‫E é por isso que vou chamar a pasta e

151
00:08:15,720 --> 00:08:17,750
‫também os arquivos lá de controladores.

152
00:08:17,750 --> 00:08:20,860
‫Então, vamos agora criar o tourController. js e o

153
00:08:20,860 --> 00:08:23,433
‫userController. js.

154
00:08:24,510 --> 00:08:28,893
‫Ok, e isso fará um pouco mais

155
00:08:31,800 --> 00:08:33,743
‫de sentido quando

156
00:08:36,610 --> 00:08:39,130
‫chegarmos à parte do curso em que realmente falamos

157
00:08:39,130 --> 00:08:41,590
‫sobre o MVC, ou padrão Model View Controller.

158
00:08:41,590 --> 00:08:44,160
‫Tudo bem, então vamos agora pegar

159
00:08:44,160 --> 00:08:45,913
‫este código e colocar

160
00:08:46,930 --> 00:08:50,563
‫esses manipuladores na pasta do controlador, ou arquivo, na verdade.

161
00:08:53,070 --> 00:08:56,820
‫Então, todo esse código.

162
00:08:56,820 --> 00:08:57,983
‫É o tourController, sim, é esse.

163
00:08:59,050 --> 00:09:00,543
‫Além disso, precisamos

164
00:09:02,660 --> 00:09:05,660
‫deste módulo FS aqui, obviamente no topo.

165
00:09:05,660 --> 00:09:09,600
‫E aqui vamos nós.

166
00:09:09,600 --> 00:09:10,913
‫Agora, queremos realmente exportar todas essas funções deste

167
00:09:12,624 --> 00:09:13,457
‫módulo, então como fazemos isso?

168
00:09:13,457 --> 00:09:16,730
‫Bem, neste caso não temos apenas uma exportação,

169
00:09:16,730 --> 00:09:19,340
‫então não vamos usar o módulo. exportar, mas, em vez disso,

170
00:09:19,340 --> 00:09:22,680
‫colocaremos todas essas funções no objeto de

171
00:09:22,680 --> 00:09:24,970
‫exportação, certo?

172
00:09:24,970 --> 00:09:27,740
‫E então, deixe-me selecionar

173
00:09:27,740 --> 00:09:31,070
‫todos esses, consts, para que eu

174
00:09:31,070 --> 00:09:34,453
‫possa realmente substituí-los todos ao mesmo tempo.

175
00:09:36,897 --> 00:09:40,340
‫Portanto, as exportações. deleteTour e. updateTour, createTour, getTour e

176
00:09:40,340 --> 00:09:42,040
‫getAllTours.

177
00:09:46,360 --> 00:09:51,360
‫Ok, então isso exporta tudo deste arquivo.

178
00:09:51,360 --> 00:09:53,173
‫E agora,

179
00:09:54,840 --> 00:09:59,480
‫vamos entrar nos tourRoutes e simplesmente importá-los.

180
00:09:59,480 --> 00:10:02,470
‫Portanto, const, tourController, equals require.

181
00:10:02,470 --> 00:10:03,960
‫Ok, agora estamos na pasta de rotas aqui, certo?

182
00:10:03,960 --> 00:10:08,960
‫Portanto, precisamos subir um nível e, em

183
00:10:13,770 --> 00:10:18,360
‫seguida, ir para os controladores e para

184
00:10:18,360 --> 00:10:20,273
‫o tourController. js.

185
00:10:21,580 --> 00:10:23,853
‫Ok, isso não está correto e tudo bem.

186
00:10:25,140 --> 00:10:28,333
‫Agora, lembre-se disso

187
00:10:30,290 --> 00:10:35,290
‫quando exportamos dados de um arquivo usando o objeto de exportação.

188
00:10:35,290 --> 00:10:38,310
‫Assim como fizemos aqui.

189
00:10:38,310 --> 00:10:40,810
‫Quando importamos tudo para um objeto,

190
00:10:40,810 --> 00:10:42,840
‫todos os dados que

191
00:10:42,840 --> 00:10:45,410
‫estavam nas exportações agora estarão no tourController.

192
00:10:45,410 --> 00:10:48,170
‫E então teremos tourController. getAllTours. createTours. getTour, e realmente, tudo

193
00:10:48,170 --> 00:10:50,310
‫isso, ok?

194
00:10:50,310 --> 00:10:54,289
‫Portanto, este objeto aqui será o equivalente às

195
00:10:54,289 --> 00:10:56,830
‫exportações que temos aqui.

196
00:10:56,830 --> 00:10:59,520
‫Lembre-se disso?

197
00:10:59,520 --> 00:11:02,440
‫E então, é muito simples.

198
00:11:02,440 --> 00:11:05,500
‫Tudo o que tenho que fazer agora é

199
00:11:05,500 --> 00:11:06,760
‫criar tourController. , e é isso.

200
00:11:06,760 --> 00:11:08,420
‫Agora eu também poderia

201
00:11:08,420 --> 00:11:10,860
‫ter usado a estruturação, que também mostrei antes.

202
00:11:12,266 --> 00:11:17,266
‫Então, apenas para demonstrar, eu poderia ter usado

203
00:11:17,290 --> 00:11:19,810
‫assim e, em seguida, especificado exatamente os mesmos

204
00:11:19,810 --> 00:11:21,483
‫nomes que temos aqui.

205
00:11:22,930 --> 00:11:24,830
‫Então getAllTours e, em seguida, createTour

206
00:11:24,830 --> 00:11:26,680
‫e tudo isso, e

207
00:11:26,680 --> 00:11:31,220
‫então eu poderia tê-los usado diretamente aqui, sem ter que escrever tourController e dot.

208
00:11:31,220 --> 00:11:36,220
‫Ok, mas na verdade eu gosto assim, e não vejo nenhum problema

209
00:11:36,800 --> 00:11:38,570
‫em ter assim.

210
00:11:38,570 --> 00:11:42,160
‫Assim, fica bem visível que todas

211
00:11:42,160 --> 00:11:44,370
‫essas funções aqui,

212
00:11:44,370 --> 00:11:47,560
‫na verdade, vêm deste módulo tourController.

213
00:11:47,560 --> 00:11:49,410
‫Ok, eu salvei agora e ele

214
00:11:49,410 --> 00:11:52,340
‫deve continuar funcionando, então vamos testar isso, e sim, ele continua.

215
00:11:52,340 --> 00:11:54,193
‫Então, isso está funcionando agora.

216
00:11:55,620 --> 00:12:00,620
‫Vamos fechar, e agora o mesmo, onde está?

217
00:12:00,940 --> 00:12:03,493
‫Ah, aqui.

218
00:12:06,486 --> 00:12:08,410
‫Agora o mesmo é claro com essas funções.

219
00:12:08,410 --> 00:12:13,410
‫Coloque-os aqui e depois exporte todos esses

220
00:12:13,850 --> 00:12:14,683
‫caras.

221
00:12:15,960 --> 00:12:18,243
‫Portanto, as exportações.

222
00:12:19,730 --> 00:12:20,713
‫Sim, está correto.

223
00:12:23,960 --> 00:12:26,423
‫Agora aqui, acabamos de importar o módulo e, da mesma forma que antes,

224
00:12:30,490 --> 00:12:31,463
‫precisamos subir um nível.

225
00:12:33,540 --> 00:12:36,070
‫Vamos para controladores e userController.

226
00:12:36,070 --> 00:12:39,103
‫Agora, finalmente, basta adicionar isso aqui.

227
00:12:46,180 --> 00:12:49,163
‫Salve e teste para esse cara também.

228
00:12:50,290 --> 00:12:54,763
‫E, de fato, funciona.

229
00:12:55,610 --> 00:12:57,963
‫Então, tudo o que fizemos aqui foi correto.

230
00:13:00,920 --> 00:13:05,760
‫Portanto, estamos começando a ter vários arquivos agora, por isso é

231
00:13:05,760 --> 00:13:07,860
‫importante realmente nos

232
00:13:07,860 --> 00:13:11,020
‫familiarizarmos com a localização exata de todas

233
00:13:11,020 --> 00:13:13,810
‫as partes diferentes do aplicativo, certo?

234
00:13:13,810 --> 00:13:16,230
‫Então, apenas para recapitular, o fluxo é assim.

235
00:13:16,230 --> 00:13:18,060
‫Começamos a receber a solicitação no aplicativo. arquivo js, certo?

236
00:13:18,060 --> 00:13:21,900
‫Então, dependendo da rota, entrará em um dos roteadores,

237
00:13:21,900 --> 00:13:25,110
‫digamos o roteador de tour, e então

238
00:13:25,110 --> 00:13:29,840
‫dependendo, novamente, dessa rota e

239
00:13:29,840 --> 00:13:31,540
‫da solicitação,

240
00:13:31,540 --> 00:13:34,870
‫ele executará um desses controladores aqui, e então

241
00:13:34,870 --> 00:13:37,470
‫estes estão em os arquivos tourController.

242
00:13:37,470 --> 00:13:40,620
‫E é aí que finalmente a resposta é enviada,

243
00:13:40,620 --> 00:13:42,750
‫terminando o ciclo de solicitação-resposta.

244
00:13:42,750 --> 00:13:46,280
‫Ok, agora temos três arquivos, em vez de

245
00:13:46,280 --> 00:13:49,340
‫ter tudo apenas em um arquivo.

246
00:13:49,340 --> 00:13:52,113
‫Tudo bem, mas ainda não é o fim da história,

247
00:13:53,000 --> 00:13:55,120
‫porque estou adicionando mais uma etapa aqui.

248
00:13:55,120 --> 00:13:57,950
‫Então, o que vou fazer é criar um servidor. arquivo js também.

249
00:13:57,950 --> 00:14:01,090
‫Então, servidor. js.

250
00:14:01,090 --> 00:14:03,070
‫E por que estou fazendo isso?

251
00:14:03,070 --> 00:14:07,403
‫Bem, simplesmente porque é uma boa prática ter tudo

252
00:14:09,840 --> 00:14:11,850
‫o que está

253
00:14:11,850 --> 00:14:14,090
‫relacionado para expressar em um arquivo e, em seguida,

254
00:14:14,090 --> 00:14:16,620
‫tudo o que está relacionado ao servidor em outro arquivo principal.

255
00:14:16,620 --> 00:14:21,000
‫Então, começando agora, servidor. js será, na verdade, nosso arquivo inicial, onde tudo

256
00:14:21,000 --> 00:14:23,960
‫começa, e estará lá quando

257
00:14:23,960 --> 00:14:25,910
‫ouvirmos nosso servidor.

258
00:14:25,910 --> 00:14:29,800
‫Então, vamos realmente copiar, ou

259
00:14:29,800 --> 00:14:32,460
‫cortar, esta parte daqui e movê-la para o servidor.

260
00:14:32,460 --> 00:14:35,163
‫Agora, é claro, este módulo

261
00:14:36,250 --> 00:14:40,360
‫aqui não sabe sobre o aplicativo e, portanto, precisamos importá-lo.

262
00:14:40,360 --> 00:14:43,533
‫E para importá-lo, precisamos primeiro exportá-lo.

263
00:14:44,400 --> 00:14:47,970
‫Portanto, usamos o módulo. exportamos e exportamos nosso aplicativo a partir

264
00:14:47,970 --> 00:14:49,480
‫deste arquivo.

265
00:14:49,480 --> 00:14:52,223
‫Ok, agora temos tudo o

266
00:14:53,290 --> 00:14:56,800
‫que é basicamente

267
00:14:56,800 --> 00:15:00,530
‫a configuração do aplicativo em um arquivo independente.

268
00:15:00,530 --> 00:15:02,700
‫Ok, então de volta ao servidor, vamos importar isso agora.

269
00:15:02,700 --> 00:15:05,540
‫Requer, e como é nosso próprio

270
00:15:05,540 --> 00:15:07,193
‫módulo, precisamos usá-lo. / para

271
00:15:08,080 --> 00:15:12,603
‫dizer que estamos na pasta atual

272
00:15:16,210 --> 00:15:20,600
‫e aqui está ele simplesmente app.

273
00:15:20,600 --> 00:15:23,590
‫Então, simples assim.

274
00:15:23,590 --> 00:15:25,323
‫E mais tarde teremos outras coisas neste

275
00:15:26,210 --> 00:15:28,310
‫arquivo que não estão relacionadas ao Express, mas

276
00:15:28,310 --> 00:15:29,870
‫ainda relacionadas ao nosso aplicativo.

277
00:15:29,870 --> 00:15:31,900
‫Então, coisas como configurações de banco

278
00:15:31,900 --> 00:15:34,780
‫de dados, ou alguma coisa de tratamento de erros, ou

279
00:15:34,780 --> 00:15:37,130
‫variáveis de ambiente, todas essas coisas estarão neste servidor. js, que é o

280
00:15:37,130 --> 00:15:39,590
‫nosso ponto de entrada, certo?

281
00:15:39,590 --> 00:15:43,350
‫Então, vamos agora terminar o processo que temos aqui, porque agora não

282
00:15:43,350 --> 00:15:46,490
‫executamos mais o aplicativo nodemon. js, mas

283
00:15:46,490 --> 00:15:49,670
‫em vez disso, precisamos executar o servidor. js.

284
00:15:49,670 --> 00:15:52,730
‫Ok, e já que estamos fazendo isso, deixe-me criar

285
00:15:52,730 --> 00:15:56,840
‫um script npm para isso.

286
00:15:56,840 --> 00:16:00,670
‫Fechando aquele cara muito rápido.

287
00:16:00,670 --> 00:16:02,820
‫E então, deixe-me

288
00:16:02,820 --> 00:16:05,623
‫adicionar aqui, npm start, servidor nodemon. js.

289
00:16:07,200 --> 00:16:09,240
‫Porque dessa forma, eu não preciso

290
00:16:09,240 --> 00:16:12,593
‫mais saber qual é o arquivo que eu realmente quero executar.

291
00:16:15,300 --> 00:16:19,090
‫Portanto, tudo o que tenho a

292
00:16:19,090 --> 00:16:22,420
‫escrever é npm start, e não há dúvida de que vai funcionar.

293
00:16:22,420 --> 00:16:24,920
‫Caso contrário, posso ter

294
00:16:24,920 --> 00:16:28,010
‫que pensar, hm, é isso. js ou servidor. js, ou o quê?

295
00:16:28,010 --> 00:16:30,430
‫O que temos que começar aqui?

296
00:16:30,430 --> 00:16:32,120
‫Mas assim, eu não preciso pensar, tudo o que tenho que fazer

297
00:16:32,120 --> 00:16:35,780
‫é o npm start, e ele vai começar.

298
00:16:35,780 --> 00:16:37,360
‫Ok, então assim, e aqui

299
00:16:37,360 --> 00:16:39,350
‫estamos nós de volta executando nosso aplicativo.

300
00:16:39,350 --> 00:16:44,350
‫Feche aquele cara, e por falar nisso, isso funciona, mesmo sem

301
00:16:45,340 --> 00:16:48,200
‫ter o nodemon instalado como nossa

302
00:16:48,200 --> 00:16:50,450
‫dependência dev, porque eu

303
00:16:51,810 --> 00:16:54,590
‫tenho o nodemon instalado globalmente.

304
00:16:54,590 --> 00:16:57,400
‫Fizemos isso na primeira seção e, com sorte,

305
00:16:57,400 --> 00:16:58,860
‫você também fez lá.

306
00:16:58,860 --> 00:17:01,410
‫Se não, vá em frente

307
00:17:01,410 --> 00:17:03,200
‫e em outra

308
00:17:03,200 --> 00:17:05,640
‫guia faça npm install nodemon,

309
00:17:05,640 --> 00:17:09,390
‫então se por algum motivo você pulou essa

310
00:17:09,390 --> 00:17:14,140
‫seção, digite npm install nodemon, e então você pode instalá-lo

311
00:17:14,140 --> 00:17:17,120
‫globalmente assim ou pode instalá-lo como

312
00:17:17,120 --> 00:17:19,610
‫um dev dependência, assim, certo?

313
00:17:19,610 --> 00:17:23,590
‫Portanto, certifique-se de ter o nodemon instalado, não importa se é

314
00:17:23,590 --> 00:17:26,083
‫globalmente ou como uma dependência de desenvolvimento,

315
00:17:27,810 --> 00:17:29,680
‫ok, para que isso funcione.

316
00:17:29,680 --> 00:17:31,900
‫Então, cheque final, apenas para

317
00:17:31,900 --> 00:17:35,293
‫ter certeza, e quero este aqui, e sim, de fato.

318
00:17:36,700 --> 00:17:38,963
‫Nosso aplicativo foi refatorado corretamente.

319
00:17:40,370 --> 00:17:43,053
‫Então, essas foram muitas mudanças em

320
00:17:44,250 --> 00:17:48,350
‫um único vídeo, então, depois de terminar este, vá

321
00:17:48,350 --> 00:17:51,330
‫em frente e analise tudo o que

322
00:17:51,330 --> 00:17:55,440
‫fizemos e realmente tente traçar um caminho que uma

323
00:17:55,440 --> 00:17:57,470
‫solicitação fará dentro

324
00:17:57,470 --> 00:18:00,830
‫de nosso aplicativo do início ao fim.

325
00:18:00,830 --> 00:18:03,420
‫Desta forma, você realmente terá

326
00:18:03,420 --> 00:18:06,510
‫uma noção de como tudo aqui funciona.

327
00:18:06,510 --> 00:18:07,880
‫E vejo você depois de fazer isso no próximo vídeo.

