﻿1
00:00:01,160 --> 00:00:03,510
‫Istruttore: Refactoring ora completamente la nostra applicazione

2
00:00:03,510 --> 00:00:05,710
‫che abbiamo finora e creiamo molti

3
00:00:05,710 --> 00:00:07,520
‫nuovi file e una

4
00:00:07,520 --> 00:00:09,623
‫struttura di file completamente nuova.

5
00:00:11,130 --> 00:00:13,063
‫Quindi ricorda dall'ultimo video che

6
00:00:13,063 --> 00:00:15,470
‫volevamo separare i nostri router in

7
00:00:15,470 --> 00:00:16,570
‫file diversi.

8
00:00:16,570 --> 00:00:19,520
‫E quindi questo sarà il primo passo che faremo qui.

9
00:00:20,550 --> 00:00:23,843
‫Quindi ora creerò una nuova cartella chiamata Routes,

10
00:00:26,630 --> 00:00:30,960
‫e lì dentro avrò una cartella per i percorsi dei tour. js, quindi le route dell'utente,. anche js.

11
00:00:34,117 --> 00:00:37,203
‫Ok, quindi questa sarà la prima volta che lavoreremo davvero

12
00:00:39,777 --> 00:00:41,800
‫con moduli diversi, ok, e

13
00:00:41,800 --> 00:00:44,520
‫li useremo effettivamente in un modo molto significativo.

14
00:00:44,520 --> 00:00:48,070
‫Quindi, iniziamo con il tour router.

15
00:00:48,070 --> 00:00:51,783
‫Copialo qui, quindi prendi questo router

16
00:00:53,290 --> 00:00:56,693
‫qui e mettilo qui.

17
00:01:00,300 --> 00:01:05,293
‫Quindi, ora abbiamo bisogno di Express qui, perché stiamo usando quella

18
00:01:07,500 --> 00:01:08,593
‫variabile, e

19
00:01:10,190 --> 00:01:13,640
‫quindi abbiamo bisogno di importare il modulo Express.

20
00:01:13,640 --> 00:01:15,380
‫Quindi

21
00:01:15,380 --> 00:01:18,893
‫esprimi, richiedi espresso.

22
00:01:22,190 --> 00:01:23,303
‫Ok, è una specie

23
00:01:26,780 --> 00:01:29,010
‫di convenzione chiamare semplicemente questo router e non tourRouter.

24
00:01:29,010 --> 00:01:33,550
‫Quindi router, e ora esporteremo il router e poi lo importeremo nella nostra

25
00:01:33,550 --> 00:01:34,940
‫applicazione principale, ok?

26
00:01:36,110 --> 00:01:39,880
‫Quindi, ricordi come lo facciamo quando abbiamo

27
00:01:39,880 --> 00:01:43,423
‫solo una cosa da esportare?

28
00:01:45,110 --> 00:01:47,170
‫Bene, usiamo il modulo. esportazioni, quindi

29
00:01:47,170 --> 00:01:49,860
‫metti il router lì.

30
00:01:49,860 --> 00:01:52,870
‫Salvalo e, naturalmente,

31
00:01:52,870 --> 00:01:56,053
‫riceviamo ancora alcuni errori, ma questo perché il tour

32
00:01:57,430 --> 00:02:00,810
‫router non è definito nel nostro file dell'applicazione principale.

33
00:02:00,810 --> 00:02:02,210
‫Ok, anche ciò che

34
00:02:02,210 --> 00:02:05,313
‫non è definito in questo file sono tutte queste funzioni qui.

35
00:02:06,290 --> 00:02:09,510
‫Ok, prendiamole molto velocemente e inseriamole

36
00:02:09,510 --> 00:02:12,060
‫nel file del router.

37
00:02:12,060 --> 00:02:14,830
‫Almeno per ora, creeremo in seguito un

38
00:02:14,830 --> 00:02:17,100
‫nuovo file anche per quello.

39
00:02:17,100 --> 00:02:19,700
‫Quindi inizia da qui.

40
00:02:19,700 --> 00:02:22,270
‫Attenzione, non copiare tutto.

41
00:02:22,270 --> 00:02:24,123
‫Sì, quindi proprio così.

42
00:02:26,010 --> 00:02:27,803
‫E in effetti, li metterò prima delle vie.

43
00:02:31,500 --> 00:02:33,633
‫Dagli un salvataggio.

44
00:02:36,250 --> 00:02:39,213
‫E quindi dovrebbe funzionare ora.

45
00:02:41,820 --> 00:02:42,703
‫E ora fai lo stesso per l'utente.

46
00:02:43,930 --> 00:02:45,330
‫Quindi prendi il router.

47
00:02:46,910 --> 00:02:49,453
‫E non preoccuparti di tutti questi errori che riceviamo.

48
00:02:53,390 --> 00:02:55,033
‫Di nuovo, è solo

49
00:02:56,860 --> 00:02:59,560
‫perché ci mancano alcune variabili in alcuni punti.

50
00:02:59,560 --> 00:03:01,770
‫Quindi di nuovo, esprimiamo qui, quindi lo

51
00:03:01,770 --> 00:03:03,270
‫chiamiamo qui solo

52
00:03:04,640 --> 00:03:06,363
‫router e poi lo esportiamo.

53
00:03:12,250 --> 00:03:14,253
‫Ok, e ora prendo anche i gestori.

54
00:03:16,720 --> 00:03:17,820
‫Ok, adesso possiamo sbarazzarci di questi gestori di rotte.

55
00:03:27,150 --> 00:03:30,673
‫Ok, e in realtà questo qui manca nei

56
00:03:39,620 --> 00:03:43,710
‫nostri percorsi del tour, quindi questo pezzo di codice

57
00:03:43,710 --> 00:03:46,340
‫in cui leggiamo effettivamente i tour

58
00:03:46,340 --> 00:03:47,940
‫dal file JSON.

59
00:03:47,940 --> 00:03:51,240
‫Quindi mettilo qui in alto.

60
00:03:51,240 --> 00:03:53,063
‫E ora, finalmente, dobbiamo importare il router

61
00:03:56,479 --> 00:03:58,179
‫del tour e il router dell'utente

62
00:03:59,410 --> 00:04:01,610
‫in modo che questi percorsi qui continuino a funzionare.

63
00:04:01,610 --> 00:04:04,290
‫Ok, ma dovrebbe essere abbastanza facile, quindi facciamolo.

64
00:04:04,290 --> 00:04:06,833
‫Quindi, con

65
00:04:07,830 --> 00:04:17,498
‫il router tour, è richiesto, route/tourRoutes.

66
00:04:19,200 --> 00:04:20,683
‫Ok, e non abbiamo bisogno del

67
00:04:23,260 --> 00:04:24,953
‫JS, e quindi lo stesso per l'userRouter.

68
00:04:27,890 --> 00:04:31,510
‫Quindi tourRoutes è effettivamente qui, userRoutes.

69
00:04:31,510 --> 00:04:34,280
‫Ora ti starai chiedendo perché in realtà ho

70
00:04:37,341 --> 00:04:41,258
‫chiamato le variabili userRoute, ma poi il file è userRoutes, e

71
00:04:43,140 --> 00:04:45,260
‫questo è perché questa cartella qui

72
00:04:45,260 --> 00:04:47,410
‫si chiama route, e quindi lì

73
00:04:47,410 --> 00:04:49,380
‫dentro abbiamo tourRoutes e userRoutes.

74
00:04:49,380 --> 00:04:52,400
‫Ok, ma quello che effettivamente esportiamo

75
00:04:52,400 --> 00:04:55,780
‫da quel file è semplicemente il router, ok?

76
00:04:55,780 --> 00:04:58,650
‫Ma credo che abbia più senso chiamare

77
00:04:58,650 --> 00:05:01,130
‫effettivamente questa cartella qui Routes.

78
00:05:01,130 --> 00:05:02,680
‫Ok, ecco perché

79
00:05:02,680 --> 00:05:05,890
‫abbiamo questa piccola differenza tra route e router.

80
00:05:05,890 --> 00:05:08,010
‫Ora abbiamo ancora qualche errore qui, e

81
00:05:08,010 --> 00:05:10,410
‫quindi fs non è definito, quindi prendiamolo, e

82
00:05:10,410 --> 00:05:12,490
‫in realtà non ne abbiamo bisogno

83
00:05:12,490 --> 00:05:15,200
‫qui, quindi inseriamolo nelle rotte del tour proprio qui.

84
00:05:15,200 --> 00:05:18,150
‫Otteniamo un altro errore.

85
00:05:18,150 --> 00:05:23,023
‫E questa volta, perché questa cartella qui ora non è definita, perché il nostro nome

86
00:05:24,730 --> 00:05:26,450
‫dir è ora le rotte.

87
00:05:26,450 --> 00:05:30,440
‫Quindi dobbiamo uscirne.

88
00:05:30,440 --> 00:05:34,120
‫Quindi vai su una cartella, e poi lì dentro, vai

89
00:05:34,120 --> 00:05:36,430
‫in dev-data, data e tour-simple.

90
00:05:36,430 --> 00:05:39,090
‫Ora non preoccuparti di ricevere tutti questi errori.

91
00:05:39,090 --> 00:05:42,130
‫È abbastanza normale quando facciamo tutto questo refactoring

92
00:05:42,130 --> 00:05:44,320
‫perché stiamo cambiando le cose

93
00:05:44,320 --> 00:05:47,850
‫dappertutto, quindi è normale che le cose si rompano.

94
00:05:47,850 --> 00:05:49,890
‫Ad ogni modo, ora è tornato

95
00:05:49,890 --> 00:05:52,163
‫a funzionare, e quindi ora siamo nel

96
00:05:53,270 --> 00:05:56,010
‫posto in cui possiamo riprovare le nostre vie qui.

97
00:05:56,010 --> 00:05:58,820
‫E infatti, funziona.

98
00:05:58,820 --> 00:06:00,763
‫Lo stesso per gli utenti, supponiamo.

99
00:06:02,150 --> 00:06:04,490
‫E quindi tutto è corretto.

100
00:06:04,490 --> 00:06:06,910
‫Quindi ora abbiamo i nostri

101
00:06:06,910 --> 00:06:10,000
‫router ciascuno in un file diverso e possiamo

102
00:06:10,000 --> 00:06:13,760
‫dire che ognuno di essi è una piccola sottoapplicazione.

103
00:06:13,760 --> 00:06:15,540
‫Quindi un'applicazione tour e un'applicazione utente.

104
00:06:15,540 --> 00:06:17,970
‫E poi mettiamo tutto insieme nel

105
00:06:17,970 --> 00:06:21,120
‫nostro file dell'app globale importando questi router

106
00:06:21,120 --> 00:06:24,290
‫e poi montando i router sui due

107
00:06:24,290 --> 00:06:26,200
‫diversi percorsi che abbiamo

108
00:06:26,200 --> 00:06:28,050
‫attualmente implementato, ok?

109
00:06:28,050 --> 00:06:29,720
‫Quindi, di nuovo, è qui che montiamo i nostri router.

110
00:06:29,720 --> 00:06:32,550
‫E so che questo concetto può

111
00:06:32,550 --> 00:06:36,020
‫essere un po' difficile da comprendere, ma

112
00:06:36,020 --> 00:06:37,360
‫non preoccuparti.

113
00:06:37,360 --> 00:06:39,710
‫Più a lungo continui a lavorare su questo progetto

114
00:06:39,710 --> 00:06:40,910
‫e più codice

115
00:06:40,910 --> 00:06:43,230
‫continui a scrivere, più tutto diventerà chiaro automaticamente.

116
00:06:43,230 --> 00:06:45,000
‫Per ora, la cosa più

117
00:06:45,000 --> 00:06:48,260
‫importante da tenere a mente è che abbiamo creato questi diversi

118
00:06:48,260 --> 00:06:50,640
‫router per ciascuna delle risorse per avere una

119
00:06:50,640 --> 00:06:53,020
‫buona separazione delle preoccupazioni tra queste risorse.

120
00:06:53,020 --> 00:06:55,390
‫Quindi, in pratica, creare una piccola

121
00:06:55,390 --> 00:06:58,910
‫applicazione per ciascuno di essi e poi mettere tutto

122
00:06:58,910 --> 00:07:02,750
‫insieme in un file dell'app principale, che è ovviamente questo.

123
00:07:02,750 --> 00:07:06,720
‫Quindi questa app. js che abbiamo qui di solito viene utilizzato principalmente per

124
00:07:06,720 --> 00:07:08,640
‫le dichiarazioni del middleware.

125
00:07:08,640 --> 00:07:11,060
‫Quindi abbiamo tutto

126
00:07:11,060 --> 00:07:14,490
‫il nostro middleware che vogliamo applicare a tutte le rotte.

127
00:07:14,490 --> 00:07:15,900
‫Quindi, in questo caso, abbiamo questi quattro middleware qui.

128
00:07:15,900 --> 00:07:18,630
‫Quindi uno, due, tre, quattro.

129
00:07:18,630 --> 00:07:21,610
‫Vogliamo applicarlo a questi middleware per

130
00:07:21,610 --> 00:07:23,240
‫tutti i

131
00:07:23,240 --> 00:07:27,240
‫percorsi, quindi per questo percorso vogliamo applicare il

132
00:07:27,240 --> 00:07:29,050
‫middleware tourRouter e per

133
00:07:29,050 --> 00:07:32,576
‫questo percorso vogliamo applicare il middleware userRouter.

134
00:07:32,576 --> 00:07:34,160
‫Ok, di nuovo, questi due router

135
00:07:34,160 --> 00:07:36,430
‫sono in realtà middleware, motivo per cui possiamo usare app. utilizzare per montarli.

136
00:07:36,430 --> 00:07:40,440
‫Ok, e detto questo, facciamo un ulteriore passo

137
00:07:40,440 --> 00:07:45,010
‫avanti e rimuoviamo effettivamente questi

138
00:07:45,010 --> 00:07:46,740
‫gestori di route

139
00:07:46,740 --> 00:07:48,820
‫dal file delle route.

140
00:07:48,820 --> 00:07:52,100
‫Ok, quindi creiamo di nuovo una nuova cartella qui, e

141
00:07:52,100 --> 00:07:53,890
‫questa si chiamerà controller, ok?

142
00:07:53,890 --> 00:07:57,870
‫Quindi li ho chiamati gestori di route e quindi

143
00:07:57,870 --> 00:08:01,500
‫avrebbe senso creare una cartella dei gestori.

144
00:08:01,500 --> 00:08:03,810
‫Ma più avanti in questo corso,

145
00:08:03,810 --> 00:08:07,270
‫inizieremo a utilizzare un'architettura software chiamata Model View Controller

146
00:08:07,270 --> 00:08:08,350
‫e, in

147
00:08:08,350 --> 00:08:10,610
‫tale architettura, queste funzioni di gestione

148
00:08:10,610 --> 00:08:12,820
‫qui in realtà sono chiamate controller.

149
00:08:12,820 --> 00:08:15,720
‫Ed è per questo che chiamerò la cartella, e anche

150
00:08:15,720 --> 00:08:17,750
‫i file al suo interno, controller.

151
00:08:17,750 --> 00:08:20,860
‫Quindi ora creiamo il tourController. js e

152
00:08:20,860 --> 00:08:23,433
‫userController. js.

153
00:08:24,510 --> 00:08:28,893
‫Ok, e questo avrà un po' più

154
00:08:31,800 --> 00:08:33,743
‫senso una volta

155
00:08:36,610 --> 00:08:39,130
‫raggiunta la parte del corso in cui si parla

156
00:08:39,130 --> 00:08:41,590
‫effettivamente del modello MVC, o Model View Controller.

157
00:08:41,590 --> 00:08:44,160
‫Bene, ora prendiamo questo codice e

158
00:08:44,160 --> 00:08:45,913
‫mettiamo questi gestori

159
00:08:46,930 --> 00:08:50,563
‫nella cartella del controller, o in realtà nel file.

160
00:08:53,070 --> 00:08:56,820
‫Quindi tutto questo codice.

161
00:08:56,820 --> 00:08:57,983
‫È il tourController, sì, è quello.

162
00:08:59,050 --> 00:09:00,543
‫Inoltre, abbiamo bisogno

163
00:09:02,660 --> 00:09:05,660
‫di questo modulo FS qui, ovviamente in alto.

164
00:09:05,660 --> 00:09:09,600
‫E qui andiamo.

165
00:09:09,600 --> 00:09:10,913
‫Ora, vogliamo effettivamente esportare tutte queste funzioni da questo

166
00:09:12,624 --> 00:09:13,457
‫modulo, quindi come possiamo farlo?

167
00:09:13,457 --> 00:09:16,730
‫Bene, in questo caso non abbiamo solo

168
00:09:16,730 --> 00:09:19,340
‫un'esportazione, quindi non useremo module. export, ma invece metteremo

169
00:09:19,340 --> 00:09:22,680
‫tutte queste funzioni sull'oggetto export,

170
00:09:22,680 --> 00:09:24,970
‫ok?

171
00:09:24,970 --> 00:09:27,740
‫E quindi permettetemi di selezionare

172
00:09:27,740 --> 00:09:31,070
‫tutti questi, consts, in modo che io

173
00:09:31,070 --> 00:09:34,453
‫possa effettivamente sostituirli tutti allo stesso tempo.

174
00:09:36,897 --> 00:09:40,340
‫Quindi esportazioni. eliminaTour e . updateTour, createTour, getTour e

175
00:09:40,340 --> 00:09:42,040
‫getAllTours.

176
00:09:46,360 --> 00:09:51,360
‫Ok, quindi esporta tutto da questo file.

177
00:09:51,360 --> 00:09:53,173
‫E quindi

178
00:09:54,840 --> 00:09:59,480
‫ora, entriamo in tourRoutes e importiamoli semplicemente.

179
00:09:59,480 --> 00:10:02,470
‫Quindi const, tourController, equals require.

180
00:10:02,470 --> 00:10:03,960
‫Ok, ora siamo nella cartella dei percorsi qui, giusto?

181
00:10:03,960 --> 00:10:08,960
‫Quindi dobbiamo salire di un livello,

182
00:10:13,770 --> 00:10:18,360
‫quindi entrare nei controller e

183
00:10:18,360 --> 00:10:20,273
‫nel tourController. js.

184
00:10:21,580 --> 00:10:23,853
‫Ok, questo non è corretto, e va bene.

185
00:10:25,140 --> 00:10:28,333
‫Ora, ricorda che

186
00:10:30,290 --> 00:10:35,290
‫quando esportiamo i dati da un file utilizzando l'oggetto exports.

187
00:10:35,290 --> 00:10:38,310
‫Quindi proprio come abbiamo fatto qui.

188
00:10:38,310 --> 00:10:40,810
‫Quando poi importiamo tutto in un oggetto,

189
00:10:40,810 --> 00:10:42,840
‫tutti i dati che

190
00:10:42,840 --> 00:10:45,410
‫erano sulle esportazioni ora saranno su tourController.

191
00:10:45,410 --> 00:10:48,170
‫E così avremo tourController. getAllTours. creareTour. getTour, e davvero, tutto

192
00:10:48,170 --> 00:10:50,310
‫questo, ok?

193
00:10:50,310 --> 00:10:54,289
‫Quindi questo oggetto qui sarà l'equivalente delle

194
00:10:54,289 --> 00:10:56,830
‫esportazioni che abbiamo qui.

195
00:10:56,830 --> 00:10:59,520
‫Ricordati che?

196
00:10:59,520 --> 00:11:02,440
‫E così, è davvero semplice.

197
00:11:02,440 --> 00:11:05,500
‫Tutto quello che devo fare ora è

198
00:11:05,500 --> 00:11:06,760
‫creare tourController. , e basta.

199
00:11:06,760 --> 00:11:08,420
‫Ora avrei potuto usare anche

200
00:11:08,420 --> 00:11:10,860
‫la strutturazione, che ti ho anche mostrato prima.

201
00:11:12,266 --> 00:11:17,266
‫Quindi, solo per dimostrare, avrei potuto usarlo in

202
00:11:17,290 --> 00:11:19,810
‫questo modo e poi specificare gli stessi esatti

203
00:11:19,810 --> 00:11:21,483
‫nomi che abbiamo qui.

204
00:11:22,930 --> 00:11:24,830
‫Quindi getAllTours, e poi createTour,

205
00:11:24,830 --> 00:11:26,680
‫e tutti questi, e

206
00:11:26,680 --> 00:11:31,220
‫poi avrei potuto usarli direttamente qui senza dover scrivere tourController e punto.

207
00:11:31,220 --> 00:11:36,220
‫Ok, ma in realtà mi piace così, e non vedo alcun problema

208
00:11:36,800 --> 00:11:38,570
‫ad averlo così.

209
00:11:38,570 --> 00:11:42,160
‫Quindi è ben visibile che tutte queste

210
00:11:42,160 --> 00:11:44,370
‫funzioni qui in

211
00:11:44,370 --> 00:11:47,560
‫realtà provengono da questo modulo tourController.

212
00:11:47,560 --> 00:11:49,410
‫Ok, l'ho salvato ora, e

213
00:11:49,410 --> 00:11:52,340
‫dovrebbe continuare a funzionare, quindi proviamolo, e sì, lo fa.

214
00:11:52,340 --> 00:11:54,193
‫Quindi, ora funziona.

215
00:11:55,620 --> 00:12:00,620
‫Chiudiamola davvero, e ora lo stesso, dov'è?

216
00:12:00,940 --> 00:12:03,493
‫Ah, ecco.

217
00:12:06,486 --> 00:12:08,410
‫Ora lo stesso ovviamente con queste funzioni.

218
00:12:08,410 --> 00:12:13,410
‫Mettili qui e poi esporta tutti questi

219
00:12:13,850 --> 00:12:14,683
‫ragazzi.

220
00:12:15,960 --> 00:12:18,243
‫Quindi esportazioni.

221
00:12:19,730 --> 00:12:20,713
‫Sì, quindi è corretto.

222
00:12:23,960 --> 00:12:26,423
‫Ora qui, abbiamo appena importato il modulo e, come prima, dobbiamo

223
00:12:30,490 --> 00:12:31,463
‫salire di un livello.

224
00:12:33,540 --> 00:12:36,070
‫Entriamo in controller e userController.

225
00:12:36,070 --> 00:12:39,103
‫Ora, finalmente, aggiungilo qui.

226
00:12:46,180 --> 00:12:49,163
‫Salvalo e provalo anche per questo ragazzo.

227
00:12:50,290 --> 00:12:54,763
‫E infatti, funziona.

228
00:12:55,610 --> 00:12:57,963
‫Quindi tutto ciò che abbiamo fatto qui era corretto.

229
00:13:00,920 --> 00:13:05,760
‫Quindi stiamo iniziando ad avere un sacco di file ora,

230
00:13:05,760 --> 00:13:07,860
‫quindi è importante

231
00:13:07,860 --> 00:13:11,020
‫acquisire davvero familiarità, dove si trovano esattamente

232
00:13:11,020 --> 00:13:13,810
‫tutte le diverse parti dell'applicazione, ok?

233
00:13:13,810 --> 00:13:16,230
‫Quindi, solo per ricapitolare, il flusso va così.

234
00:13:16,230 --> 00:13:18,060
‫Iniziamo a ricevere la richiesta nell'app. js, giusto?

235
00:13:18,060 --> 00:13:21,900
‫Quindi, a seconda del percorso, entrerà in uno dei router,

236
00:13:21,900 --> 00:13:25,110
‫quindi diciamo il router del tour, e quindi,

237
00:13:25,110 --> 00:13:29,840
‫a seconda di quel percorso

238
00:13:29,840 --> 00:13:31,540
‫e della richiesta,

239
00:13:31,540 --> 00:13:34,870
‫eseguirà uno di questi controller qui, e quindi

240
00:13:34,870 --> 00:13:37,470
‫questi sono in i file tourController.

241
00:13:37,470 --> 00:13:40,620
‫Ed è qui che alla fine viene inviata la

242
00:13:40,620 --> 00:13:42,750
‫risposta e termina il ciclo richiesta-risposta.

243
00:13:42,750 --> 00:13:46,280
‫Ok, ora abbiamo tre file, invece di

244
00:13:46,280 --> 00:13:49,340
‫avere tutto in un unico file.

245
00:13:49,340 --> 00:13:52,113
‫Va bene, ma questa non è ancora la fine della

246
00:13:53,000 --> 00:13:55,120
‫storia, perché aggiungo un altro passaggio qui.

247
00:13:55,120 --> 00:13:57,950
‫Quindi quello che farò è creare un server. js anche il file.

248
00:13:57,950 --> 00:14:01,090
‫Quindi servitore. js.

249
00:14:01,090 --> 00:14:03,070
‫E perché lo sto facendo?

250
00:14:03,070 --> 00:14:07,403
‫Bene, semplicemente perché è una buona pratica avere tutto

251
00:14:09,840 --> 00:14:11,850
‫ciò che è

252
00:14:11,850 --> 00:14:14,090
‫correlato a express in un file e poi tutto

253
00:14:14,090 --> 00:14:16,620
‫ciò che è correlato al server in un altro file principale.

254
00:14:16,620 --> 00:14:21,000
‫Quindi a partire da ora, server. js sarà in realtà il nostro file di partenza in

255
00:14:21,000 --> 00:14:23,960
‫cui tutto inizia, ed è lì quando

256
00:14:23,960 --> 00:14:25,910
‫ascoltiamo il nostro server.

257
00:14:25,910 --> 00:14:29,800
‫Quindi andiamo avanti e copiamo, o

258
00:14:29,800 --> 00:14:32,460
‫tagliamo, questa parte da qui e spostiamola nel server.

259
00:14:32,460 --> 00:14:35,163
‫Ora, ovviamente, questo modulo

260
00:14:36,250 --> 00:14:40,360
‫qui non conosce l'app, quindi dobbiamo importarlo.

261
00:14:40,360 --> 00:14:43,533
‫E per importarlo, dobbiamo prima esportarlo.

262
00:14:44,400 --> 00:14:47,970
‫Quindi usiamo il modulo. exports ed esportiamo la nostra applicazione da

263
00:14:47,970 --> 00:14:49,480
‫questo file.

264
00:14:49,480 --> 00:14:52,223
‫Ok, quindi ora abbiamo tutto

265
00:14:53,290 --> 00:14:56,800
‫ciò che è

266
00:14:56,800 --> 00:15:00,530
‫fondamentalmente la configurazione dell'applicazione in un file autonomo.

267
00:15:00,530 --> 00:15:02,700
‫Ok, quindi di nuovo nel server, ora importiamolo.

268
00:15:02,700 --> 00:15:05,540
‫Require, e poiché è il nostro modulo,

269
00:15:05,540 --> 00:15:07,193
‫dobbiamo usare questo . / per

270
00:15:08,080 --> 00:15:12,603
‫dire che siamo nella cartella corrente,

271
00:15:16,210 --> 00:15:20,600
‫ed ecco che è semplicemente app.

272
00:15:20,600 --> 00:15:23,590
‫Quindi, semplice.

273
00:15:23,590 --> 00:15:25,323
‫E in seguito avremo effettivamente altre cose

274
00:15:26,210 --> 00:15:28,310
‫in questo file che non sono relative a express,

275
00:15:28,310 --> 00:15:29,870
‫ma comunque relative alla nostra applicazione.

276
00:15:29,870 --> 00:15:31,900
‫Quindi cose come le configurazioni del

277
00:15:31,900 --> 00:15:34,780
‫database, o alcune cose sulla gestione degli errori, o variabili

278
00:15:34,780 --> 00:15:37,130
‫d'ambiente, tutte quelle cose vivranno in questo server. js, che è una

279
00:15:37,130 --> 00:15:39,590
‫specie di punto di ingresso, ok?

280
00:15:39,590 --> 00:15:43,350
‫Quindi ora finiamo il processo che abbiamo qui, perché ora non

281
00:15:43,350 --> 00:15:46,490
‫eseguiamo più l'app nodemon. js,

282
00:15:46,490 --> 00:15:49,670
‫ma invece, dobbiamo eseguire server. js.

283
00:15:49,670 --> 00:15:52,730
‫Ok, e in realtà dal momento che lo stiamo facendo, fammi

284
00:15:52,730 --> 00:15:56,840
‫creare uno script npm per quello.

285
00:15:56,840 --> 00:16:00,670
‫Chiudendo quel ragazzo molto velocemente.

286
00:16:00,670 --> 00:16:02,820
‫E quindi lasciatemi

287
00:16:02,820 --> 00:16:05,623
‫aggiungere qui, npm start, nodemon server. js.

288
00:16:07,200 --> 00:16:09,240
‫Perché in questo modo, non devo

289
00:16:09,240 --> 00:16:12,593
‫più sapere veramente quale è il file che voglio effettivamente eseguire.

290
00:16:15,300 --> 00:16:19,090
‫Quindi tutto quello che devo

291
00:16:19,090 --> 00:16:22,420
‫scrivere è npm start, e non c'è dubbio che funzionerà.

292
00:16:22,420 --> 00:16:24,920
‫Altrimenti, potrei dover

293
00:16:24,920 --> 00:16:28,010
‫pensare, hm, è un'app. js o server. js, o cosa?

294
00:16:28,010 --> 00:16:30,430
‫Cosa dobbiamo cominciare da qui?

295
00:16:30,430 --> 00:16:32,120
‫Ma in questo modo, non devo pensare, tutto ciò che

296
00:16:32,120 --> 00:16:35,780
‫devo fare è avviare npm e inizierà.

297
00:16:35,780 --> 00:16:37,360
‫Ok, quindi proprio così, ed

298
00:16:37,360 --> 00:16:39,350
‫eccoci di nuovo a eseguire la nostra applicazione.

299
00:16:39,350 --> 00:16:44,350
‫Chiudi quel ragazzo e, a proposito, funziona, anche senza

300
00:16:45,340 --> 00:16:48,200
‫avere nodemon installato come dipendenza di

301
00:16:48,200 --> 00:16:50,450
‫sviluppo, perché ho

302
00:16:51,810 --> 00:16:54,590
‫nodemon installato a livello globale.

303
00:16:54,590 --> 00:16:57,400
‫Quindi l'abbiamo fatto nella prima sezione, e si spera che

304
00:16:57,400 --> 00:16:58,860
‫lo abbiate fatto anche lì.

305
00:16:58,860 --> 00:17:01,410
‫In caso contrario, vai avanti

306
00:17:01,410 --> 00:17:03,200
‫e in un'altra

307
00:17:03,200 --> 00:17:05,640
‫scheda esegui npm install nodemon,

308
00:17:05,640 --> 00:17:09,390
‫quindi se per qualche motivo hai saltato quella

309
00:17:09,390 --> 00:17:14,140
‫sezione, digita npm install nodemon, quindi puoi installarlo globalmente in

310
00:17:14,140 --> 00:17:17,120
‫questo modo o puoi installarlo come

311
00:17:17,120 --> 00:17:19,610
‫dev dipendenza, così, va bene?

312
00:17:19,610 --> 00:17:23,590
‫Quindi assicurati di avere nodemon installato, non importa se è

313
00:17:23,590 --> 00:17:26,083
‫globalmente o come dipendenza di sviluppo,

314
00:17:27,810 --> 00:17:29,680
‫ok, per farlo funzionare.

315
00:17:29,680 --> 00:17:31,900
‫Quindi controllo finale, solo per

316
00:17:31,900 --> 00:17:35,293
‫essere sicuri, e voglio questo, e sì, davvero.

317
00:17:36,700 --> 00:17:38,963
‫Abbiamo la nostra app correttamente refactoring.

318
00:17:40,370 --> 00:17:43,053
‫Quindi questi erano molti cambiamenti in

319
00:17:44,250 --> 00:17:48,350
‫un solo video, quindi dopo aver finito questo, vai

320
00:17:48,350 --> 00:17:51,330
‫avanti e analizza tutto ciò che abbiamo

321
00:17:51,330 --> 00:17:55,440
‫fatto e prova davvero a tracciare un percorso che

322
00:17:55,440 --> 00:17:57,470
‫una richiesta farà

323
00:17:57,470 --> 00:18:00,830
‫all'interno della nostra app dall'inizio alla fine.

324
00:18:00,830 --> 00:18:03,420
‫In questo modo avrai davvero

325
00:18:03,420 --> 00:18:06,510
‫un'idea di come funziona tutto qui.

326
00:18:06,510 --> 00:18:07,880
‫E ci vediamo dopo averlo fatto nel prossimo video.

