1
00:00:03,920 --> 00:00:07,800
Ora, che abbiamo imparato a conoscere Express Generator,

2
00:00:07,800 --> 00:00:10,890
lo strumento di impalcatura per applicazioni esperti,

3
00:00:10,890 --> 00:00:17,405
installiamo Express Generator e quindi creiamo una nuova applicazione Express.

4
00:00:17,405 --> 00:00:20,250
Creeremo la replica esatta

5
00:00:20,250 --> 00:00:25,850
dell'applicazione API REST Express che abbiamo implementato nel modulo precedente.

6
00:00:25,850 --> 00:00:30,025
Saremo infatti riutilizzare i tre router,

7
00:00:30,025 --> 00:00:34,970
router Express che abbiamo implementato nella precedente applicazione Express

8
00:00:34,970 --> 00:00:38,690
nell'applicazione appena generata che stiamo per

9
00:00:38,690 --> 00:00:43,430
generare utilizzando Express Generator in questo esercizio.

10
00:00:43,430 --> 00:00:48,680
Per iniziare, il primo passo è installare Express Generator.

11
00:00:48,680 --> 00:00:52,610
Quindi, al prompt digitare «npm

12
00:00:52,610 --> 00:00:59,210
install -g» per installarlo come modulo NPM globale.

13
00:00:59,210 --> 00:01:05,120
Diciamo Express Generator e colpiremo il ritorno.

14
00:01:05,120 --> 00:01:10,910
Ora, se stai installando su una macchina OSX o Linux,

15
00:01:10,910 --> 00:01:14,400
assicurati di usare sudo davanti a questo comando.

16
00:01:14,400 --> 00:01:21,500
Quindi installare l'applicazione come applicazione globale.

17
00:01:21,500 --> 00:01:29,850
Come puoi vedere, la versione di Express Generator che sto usando è 4.16.0 in questo corso.

18
00:01:29,850 --> 00:01:33,845
Ora, che abbiamo installato Express Generator, nel vostro terminale,

19
00:01:33,845 --> 00:01:37,590
passare alla cartella Node.Js in cui avete memorizzato

20
00:01:37,590 --> 00:01:42,080
tutte le varie applicazioni nodo che abbiamo sviluppato in questo corso,

21
00:01:42,080 --> 00:01:43,745
nella cartella Node.Js.

22
00:01:43,745 --> 00:01:50,020
Al prompt digitare express ConfusionServer.

23
00:01:50,020 --> 00:01:53,865
Ora, se hai seguito i corsi precedenti,

24
00:01:53,865 --> 00:01:57,410
capisci perché lo chiamo Confusione e quindi

25
00:01:57,410 --> 00:02:01,860
impallidiamo la nostra applicazione espressa nel ConfusionServer.

26
00:02:01,860 --> 00:02:07,165
Sto impalcatura senza nuove opzioni e poi entro un breve periodo,

27
00:02:07,165 --> 00:02:10,125
il server Express verrà impalcato.

28
00:02:10,125 --> 00:02:14,390
Ora, spostati nella cartella ConfusionServer e poi

29
00:02:14,390 --> 00:02:18,680
vedrai che un mucchio di file sono già stati impalcati per te.

30
00:02:18,680 --> 00:02:23,645
Quindi, apriamo questo progetto in Visual Studio Code.

31
00:02:23,645 --> 00:02:28,935
Inoltre, al prompt digitare «npm

32
00:02:28,935 --> 00:02:33,110
install» per installare tutti

33
00:02:33,110 --> 00:02:36,070
i moduli NPM già inclusi nel file package.json.

34
00:02:36,070 --> 00:02:39,590
Quindi, diamo una rapida occhiata al file package.json per vedere quali sono

35
00:02:39,590 --> 00:02:44,360
tutti i vari moduli NPM Node che verranno installati.

36
00:02:44,360 --> 00:02:46,200
Andando alla nostra applicazione,

37
00:02:46,200 --> 00:02:48,175
nel file package.json,

38
00:02:48,175 --> 00:02:52,550
si vede che il server con il nome predefinito

39
00:02:52,550 --> 00:02:57,200
è stato impalcato e si vede un sacco di dipendenze che sono dichiarate qui.

40
00:02:57,200 --> 00:03:02,390
Quindi, tutti questi moduli NPM verranno installati automaticamente

41
00:03:02,390 --> 00:03:08,970
da NPM quando si digita «npm install» in questa cartella.

42
00:03:08,970 --> 00:03:13,370
Quindi, vedrai la cartella dei moduli del nodo che viene creata qui.

43
00:03:13,370 --> 00:03:17,600
Entra nel terminale, digita «npm install» e poi lascia

44
00:03:17,600 --> 00:03:22,320
procedere con l'installazione di tutti i vari moduli NPM.

45
00:03:22,320 --> 00:03:23,985
Una volta che sono tutti completati,

46
00:03:23,985 --> 00:03:29,810
allora siamo pronti per iniziare con la nostra applicazione Express.

47
00:03:29,810 --> 00:03:34,595
Si noterà che l'applicazione Express predefinita è già stata installata.

48
00:03:34,595 --> 00:03:35,710
Quindi, al prompt,

49
00:03:35,710 --> 00:03:38,105
se semplicemente dici npm start,

50
00:03:38,105 --> 00:03:42,295
l'applicazione predefinita si avvierà e puoi

51
00:03:42,295 --> 00:03:48,500
navigare usando il tuo browser standard per vedere cosa serve questa applicazione.

52
00:03:48,500 --> 00:03:58,645
Vai in Postman al tipo di blocco di indirizzi localhost:3000 e

53
00:03:58,645 --> 00:04:03,185
invia la richiesta e vedrai che il tuo server restituirà

54
00:04:03,185 --> 00:04:12,045
queste informazioni predefinite dal sito del server.

55
00:04:12,045 --> 00:04:20,075
Quindi, questo è il server Express standard che è impalcato da Express Generator.

56
00:04:20,075 --> 00:04:23,550
Sulla console, verranno visualizzate informazioni come questa stampate qui.

57
00:04:23,550 --> 00:04:30,180
Questo è ciò che Morgan stampa sullo schermo per mostrare le richieste in arrivo.

58
00:04:30,180 --> 00:04:34,955
Quindi, mostra il tipo di richiesta a cui URL

59
00:04:34,955 --> 00:04:40,820
e la risposta corrispondente che è stata inviata al client dal server.

60
00:04:40,820 --> 00:04:45,050
Fermiamo il server Express.

61
00:04:45,050 --> 00:04:49,430
Inizializziamo un repository Git e poi

62
00:04:49,430 --> 00:04:57,360
controlleremo lo stato Git e vedrai che i moduli del nodo sono inclusi.

63
00:04:57,360 --> 00:05:03,800
Quindi, lasciami passare alla mia applicazione e quindi creare

64
00:05:03,800 --> 00:05:10,895
un file gitignore e quindi nel file gitignore,

65
00:05:10,895 --> 00:05:17,470
permettimi di specificare i moduli del nodo come file che voglio ignorare.

66
00:05:17,470 --> 00:05:20,815
Poi tornando al terminale,

67
00:05:20,815 --> 00:05:25,090
fammi controllare lo stato git e vedi che ora

68
00:05:25,090 --> 00:05:30,385
controlleremo solo quei file che fanno parte della nostra applicazione.

69
00:05:30,385 --> 00:05:33,925
Quindi, al prompt, digita git add,

70
00:05:33,925 --> 00:05:42,085
e poi dì, git status e vedi che tutti i file sono stati archiviati.

71
00:05:42,085 --> 00:05:50,725
Quindi, dici, git commit -m «Express Generator».

72
00:05:50,725 --> 00:05:54,500
Ora, continueremo con questa applicazione Express.

73
00:05:54,500 --> 00:05:58,820
Avevamo già costruito i tre router utilizzando

74
00:05:58,820 --> 00:06:04,505
il router Express nella precedente applicazione Express che abbiamo implementato.

75
00:06:04,505 --> 00:06:09,965
Stiamo andando a copiare su questi tre router a questa applicazione che abbiamo generato utilizzando

76
00:06:09,965 --> 00:06:16,240
Express Generator e anche impostare questa applicazione per fare uso di questi tre router.

77
00:06:16,240 --> 00:06:17,980
Quindi, per farlo,

78
00:06:17,980 --> 00:06:24,120
lasciami andare nella cartella Node.Js e poi,

79
00:06:24,120 --> 00:06:27,670
andando nella cartella e nelle route del nodo express,

80
00:06:27,670 --> 00:06:30,380
ho intenzione di copiare dishRouter.js,

81
00:06:30,380 --> 00:06:34,460
leaderRouter.js router.js e promoRouter.js che ho implementato

82
00:06:34,460 --> 00:06:39,410
nell'assegnazione e arriveremo

83
00:06:39,410 --> 00:06:45,170
al ConfusionServer che ho hanno appena creato e nella cartella route e quindi copiare

84
00:06:45,170 --> 00:06:51,720
su quei tre router Express che abbiamo creato lì.

85
00:06:51,720 --> 00:06:58,140
Quindi automaticamente, modificando ora il file app.js,

86
00:06:58,140 --> 00:07:01,250
saremo in grado di supportare l'API REST utilizzando

87
00:07:01,250 --> 00:07:05,080
l'applicazione Express che abbiamo appena impalcato.

88
00:07:05,080 --> 00:07:09,535
Pagare una rapida visita all'applicazione che è stato impalcato.

89
00:07:09,535 --> 00:07:12,515
Come ho accennato nella lezione precedente,

90
00:07:12,515 --> 00:07:16,780
app.js è il luogo in cui tutto inizia.

91
00:07:16,780 --> 00:07:20,540
Quindi, questo è il file standard in modo da poter vedere alcune

92
00:07:20,540 --> 00:07:25,360
delle cose che hai familiarità con dal modulo precedente.

93
00:07:25,360 --> 00:07:31,440
Quindi, stiamo richiedendo il logger di percorso espresso che è morgan in questo caso.

94
00:07:31,440 --> 00:07:35,570
CookieParser che useremo in uno degli esercizi successivi e

95
00:07:35,570 --> 00:07:40,170
vedrai anche che stai importando due percorsi;

96
00:07:40,170 --> 00:07:42,220
l'indice e gli utenti,

97
00:07:42,220 --> 00:07:45,225
che sono già impalcati da Express per noi.

98
00:07:45,225 --> 00:07:51,300
Quindi, aggiungeremo i tre nuovi router qui.

99
00:07:51,300 --> 00:08:00,734
Quindi, dirò solo, var DishRouter richiedono percorsi

100
00:08:00,734 --> 00:08:10,480
DishRouter e poi copieranno questo e poi anche importare

101
00:08:10,480 --> 00:08:24,470
il PromorOuter e il LeaderRouter

102
00:08:26,670 --> 00:08:32,315
e noi imposteremo questi per essere utilizzati qui.

103
00:08:32,315 --> 00:08:35,735
Qui si vede che l'indice è montato

104
00:08:35,735 --> 00:08:40,070
alla barra e quindi gli utenti sono montati in/users.

105
00:08:40,070 --> 00:08:43,160
Quindi, diremo, l'uso di app

106
00:08:43,160 --> 00:08:52,970
e piatti DishRouter.

107
00:08:52,970 --> 00:08:54,840
Sono le quattro.

108
00:08:59,890 --> 00:09:17,910
Promozioni Promorouter e leader.

109
00:09:18,030 --> 00:09:22,735
LeaderRouter. Questo è tutto.

110
00:09:22,735 --> 00:09:27,045
La nostra applicazione Express che è stata impalcata è ora tutta configurata

111
00:09:27,045 --> 00:09:32,000
per essere un server API REST completo che servirà per piatti,

112
00:09:32,000 --> 00:09:34,595
piatti, promozioni e leader.

113
00:09:34,595 --> 00:09:37,630
Ora, se sfogliate il resto del codice,

114
00:09:37,630 --> 00:09:41,175
sembrerà tutto familiare con alcune cose nuove lì dentro.

115
00:09:41,175 --> 00:09:47,290
Li visiteremo come e quando avremo bisogno di capire un po 'più di dettagli lì.

116
00:09:47,290 --> 00:09:50,655
Quindi, puoi vedere che il server statico è stato configurato,

117
00:09:50,655 --> 00:09:56,150
il logger è stato impostato lì e alcuni di questi altri- quindi,

118
00:09:56,150 --> 00:10:02,315
questo è un gestore globale per gli errori.

119
00:10:02,315 --> 00:10:06,150
Vedremo come farne uso in modo più dettagliato.

120
00:10:06,150 --> 00:10:10,855
E questi due sono gestori di errori aggiuntivi che seguono dopo questo.

121
00:10:10,855 --> 00:10:16,635
Vedremo come facciamo uso di loro come implementiamo ulteriormente in questa applicazione.

122
00:10:16,635 --> 00:10:19,325
Quindi, qui è dove si notano tutte queste informazioni.

123
00:10:19,325 --> 00:10:23,140
Ora, ti stai chiedendo dove il server stesso è

124
00:10:23,140 --> 00:10:27,575
configurato per l'host locale e il numero di porta sono configurati.

125
00:10:27,575 --> 00:10:34,840
Ora, questa informazione è in questo file chiamato bin/www.

126
00:10:34,840 --> 00:10:38,075
Se apri la cartella bin/www,

127
00:10:38,075 --> 00:10:40,340
vedrai ulteriori informazioni qui.

128
00:10:40,340 --> 00:10:44,340
Quindi, dice, var app richiede.. slash/app.

129
00:10:44,340 --> 00:10:46,330
Quindi, dalla cartella bin,

130
00:10:46,330 --> 00:10:47,480
vieni qui e poi,

131
00:10:47,480 --> 00:10:50,805
questo file app.js è richiesto qui in questo;

132
00:10:50,805 --> 00:10:54,245
e così, questo includerà automaticamente l'espresso e tutto.

133
00:10:54,245 --> 00:10:56,440
E poi, qui stai impostando

134
00:10:56,440 --> 00:11:00,510
il server http qui e stai impostando il numero di porta.

135
00:11:00,510 --> 00:11:04,570
Puoi anche fornire il tuo numero di porta alla riga di comando,

136
00:11:04,570 --> 00:11:08,575
ma al momento useremo il valore predefinito, che è 3000,

137
00:11:08,575 --> 00:11:11,830
e imposteremo il numero di porta qui; e poi,

138
00:11:11,830 --> 00:11:16,935
si vede il server var http.CreateServer che hai visto in precedenza,

139
00:11:16,935 --> 00:11:20,590
e il server è in ascolto per le cose qui.

140
00:11:20,590 --> 00:11:28,050
E poi, anche, qui ci sono alcuni in ascolto di eventi sul lato server.

141
00:11:28,050 --> 00:11:30,940
Torneremo a questo in uno degli esercizi successivi.

142
00:11:30,940 --> 00:11:33,320
E poi, in basso vedrai qualche

143
00:11:33,320 --> 00:11:36,560
codice aggiuntivo che imposta il tuo server per essere in grado di

144
00:11:36,560 --> 00:11:43,170
gestire gli errori e ascoltare le richieste in arrivo sul numero di porta e così via.

145
00:11:43,170 --> 00:11:46,080
Al momento, non preoccuparti troppo di questo codice.

146
00:11:46,080 --> 00:11:48,730
Rivisiteremo questo codice ogni volta che abbiamo bisogno,

147
00:11:48,730 --> 00:11:55,580
e ci sarà modificare questo codice come e quando abbiamo bisogno in uno degli esercizi successivi.

148
00:11:55,580 --> 00:12:01,595
Quindi, è lì che le informazioni sul server sono tutte impostate lì.

149
00:12:01,595 --> 00:12:06,070
E app.js, abbiamo già visto la cartella route lì.

150
00:12:06,070 --> 00:12:15,530
Index.js e users.js sono due percorsi predefiniti che sono già impostati per noi.

151
00:12:15,530 --> 00:12:19,575
Useremo il users.js in uno degli esercizi successivi.

152
00:12:19,575 --> 00:12:21,900
E nella cartella pubblica,

153
00:12:21,900 --> 00:12:25,410
andiamo avanti e copiare il index.html e

154
00:12:25,410 --> 00:12:31,345
aboutus.html dalla nostra applicazione Express nella cartella pubblica anche.

155
00:12:31,345 --> 00:12:39,895
Quindi, tornando alla cartella pubblica node-express.

156
00:12:39,895 --> 00:12:42,250
Ho intenzione di copiare questi due.

157
00:12:42,250 --> 00:12:47,135
E poi, torneremo al server della confusione;

158
00:12:47,135 --> 00:12:49,840
e poi, nella cartella pubblica,

159
00:12:49,840 --> 00:12:52,410
li incollerò semplicemente in posizione.

160
00:12:52,410 --> 00:12:54,355
Per il momento, questi sono segnaposto.

161
00:12:54,355 --> 00:12:57,960
Più tardi, li sostituiremo con altre cose.

162
00:12:57,960 --> 00:13:00,240
Quindi, con queste modifiche,

163
00:13:00,240 --> 00:13:04,385
il nostro server è ora completamente configurato per l'esecuzione come

164
00:13:04,385 --> 00:13:09,235
server API REST e supporterà tutti gli endpoint API REST.

165
00:13:09,235 --> 00:13:13,105
Quindi, iniziamo il nostro server.

166
00:13:13,105 --> 00:13:14,680
Quindi, al prompt,

167
00:13:14,680 --> 00:13:19,910
digita npm start e il tuo server sarà attivo e funzionante.

168
00:13:19,910 --> 00:13:24,555
Andiamo a PostBin e inviare alcune richieste a questo server.

169
00:13:24,555 --> 00:13:29,545
Ora inviamo una richiesta get all'host locale 3000/piatti

170
00:13:29,545 --> 00:13:36,210
e noterai che il server API REST funziona esattamente come ci aspettiamo.

171
00:13:36,210 --> 00:13:41,250
Inviamo una richiesta di cancellazione e cancellerà i piatti.

172
00:13:41,250 --> 00:13:44,580
E poi, inviamo

173
00:13:44,580 --> 00:13:49,800
una richiesta di eliminazione alle promozioni e si vede che funziona proprio come prima.

174
00:13:49,800 --> 00:13:55,075
E facciamo un post per promozioni

175
00:13:55,075 --> 00:14:09,430
con il corpo in campo

176
00:14:23,730 --> 00:14:26,725
e inviare la richiesta di post,

177
00:14:26,725 --> 00:14:28,750
e vedrete che dice,

178
00:14:28,750 --> 00:14:31,790
«Aggiungeremo il test di promozione con descrizione dettagliata.»

179
00:14:31,790 --> 00:14:38,425
Mantiamo questo a leaders.23,

180
00:14:38,425 --> 00:14:45,190
ma metti richiesta a leaders.23 e dovresti vedere che dice, «Aggiornamento leader 23.

181
00:14:45,190 --> 00:14:47,655
Potenzierà il leader.» Quindi, si vede che

182
00:14:47,655 --> 00:14:51,780
il generatore Express che ha generato l'applicazione e

183
00:14:51,780 --> 00:14:55,060
l'abbiamo modificata per supportare l'intero endpoint API REST che

184
00:14:55,060 --> 00:14:59,315
abbiamo configurato nella versione precedente del router Express.

185
00:14:59,315 --> 00:15:05,020
Ora, con questo, completiamo questo esercizio in cui abbiamo dimostrato come possiamo

186
00:15:05,020 --> 00:15:10,610
usare il generatore Express per costruire l'endpoint API REST.

187
00:15:10,610 --> 00:15:17,740
Ora, questo è un buon momento per noi per fare un Git Kermit delle modifiche con il messaggio,

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