1
00:00:00,000 --> 00:00:04,614
[MUSIC]

2
00:00:04,614 --> 00:00:10,618
Ora che abbiamo una comprensione dei moduli nodo, facciamo il nostro primo esercizio

3
00:00:10,618 --> 00:00:17,080
per approfondire la nostra comprensione dei moduli nodo con un esempio in questo esercizio.

4
00:00:17,080 --> 00:00:22,730
Quindi, per iniziare, andiamo in una posizione comoda sul nostro computer.

5
00:00:22,730 --> 00:00:25,600
Così qui, sono nella mia cartella documenti Coursera,

6
00:00:25,600 --> 00:00:30,740
dove ho i file di tutti i corsi precedenti.

7
00:00:30,740 --> 00:00:35,680
Quindi ho intenzione di creare una nuova cartella qui, denominata NodeJS e

8
00:00:35,680 --> 00:00:42,020
questa cartella è dove ho intenzione di memorizzare tutto il codice relativo al corso NodeJS.

9
00:00:42,020 --> 00:00:44,370
Quindi, andando nella cartella NodeJS,

10
00:00:44,370 --> 00:00:48,845
creiamo una sottocartella qui, denominata esempi di nodi.

11
00:00:53,410 --> 00:00:54,590
E in questa cartella,

12
00:00:54,590 --> 00:01:00,470
creeremo i file relativi a questo esercizio.

13
00:01:01,880 --> 00:01:07,018
Aprire una finestra di terminale o una finestra di comando,

14
00:01:07,018 --> 00:01:13,442
quindi passare alla cartella esempi di nodi al prompt,

15
00:01:13,442 --> 00:01:17,681
quindi al prompt digitare npm init per

16
00:01:17,681 --> 00:01:22,837
inizializzare questa cartella come applicazione nodo.

17
00:01:22,837 --> 00:01:27,757
Quindi digita npm init e poi verrà fuori con alcuni

18
00:01:27,757 --> 00:01:33,050
valori predefiniti standard per alcune informazioni che

19
00:01:33,050 --> 00:01:38,120
verranno memorizzate in un file chiamato package.json.

20
00:01:38,120 --> 00:01:45,251
Quindi, per il nome, scriviamo esempi di nodi,

21
00:01:45,251 --> 00:01:52,383
e la versione è 1.1.0, e descrizione,

22
00:01:52,383 --> 00:01:58,639
digiterò semplicemente esempi di nodi semplici.

23
00:02:00,565 --> 00:02:05,200
E il punto di ingresso è il valore predefinito index.js.

24
00:02:05,200 --> 00:02:09,210
Per il comando di test basta lasciarlo come tale e il repository Git per il momento,

25
00:02:09,210 --> 00:02:10,890
lo lasceremo come tale.

26
00:02:10,890 --> 00:02:14,790
E per l'autore, inserisci il tuo nome.

27
00:02:17,430 --> 00:02:22,610
E il resto, e poi npm init mostrerà

28
00:02:22,610 --> 00:02:27,510
il valore predefinito che verrà impostato nel file package.json.

29
00:02:27,510 --> 00:02:31,960
Quindi, come abbiamo appreso, il file package.json è il file manifest per

30
00:02:31,960 --> 00:02:36,210
un'applicazione nodo, e una volta completato questo, noterai che

31
00:02:36,210 --> 00:02:41,500
il file package.json viene creato in quella cartella node-examples.

32
00:02:41,500 --> 00:02:46,980
Apriamo questo progetto in un editor di nostra scelta.

33
00:02:46,980 --> 00:02:53,350
Quindi ho intenzione di aprire il mio codice di Visual Studio in questa cartella.

34
00:02:53,350 --> 00:02:58,600
Quando il mio codice di Visual Studio, si apre in quella cartella.

35
00:02:58,600 --> 00:03:05,100
Ho intenzione di andare agli script qui e impostare uno script qui che dice «start»

36
00:03:06,500 --> 00:03:10,599
e dirò «node index».

37
00:03:11,830 --> 00:03:16,460
E quindi salvare le modifiche al file package.json.

38
00:03:16,460 --> 00:03:22,595
Successivamente ho intenzione di creare una cartella qui e chiamarla come index.js e

39
00:03:22,595 --> 00:03:28,267
come ti sei reso conto che principale qui è dato come file index.js, in

40
00:03:28,267 --> 00:03:33,470
modo che il file di partenza per la mia applicazione nodo.

41
00:03:33,470 --> 00:03:38,600
Quindi nel file index.js, ho intenzione di creare un semplice esempio

42
00:03:38,600 --> 00:03:43,760
per illustrare varie caratteristiche del nodo e come costruiremo moduli nodo.

43
00:03:43,760 --> 00:03:49,410
Quindi qui, costruiremo un esempio che valuta l'area e

44
00:03:49,410 --> 00:03:51,960
il perimetro di un rettangolo.

45
00:03:51,960 --> 00:03:56,280
Un esempio molto semplice che ci aiuta a illustrare

46
00:03:56,280 --> 00:03:59,480
vari aspetti sui moduli nodo e nodo.

47
00:03:59,480 --> 00:04:05,336
Quindi il tipo di iniziare, Var rect.

48
00:04:05,336 --> 00:04:10,787
E stiamo andando a creare un oggetto JavaScript qui,

49
00:04:10,787 --> 00:04:17,930
che è due proprietà, perimetro, che è una funzione.

50
00:04:17,930 --> 00:04:26,040
E come vedi, sto usando la funzione freccia per definire questa funzione qui.

51
00:04:26,040 --> 00:04:32,100
Così nodo nella sua versione corrente supporta ES 6 o ES 2015.

52
00:04:32,100 --> 00:04:36,251
Ed è per questo che userò il supporto della funzione freccia

53
00:04:36,251 --> 00:04:41,210
disponibile in ES 2015 per definire questa funzione qui.

54
00:04:41,210 --> 00:04:46,720
E se avete preso i corsi precedenti in cui usiamo gonna tempo,

55
00:04:46,720 --> 00:04:48,800
questo sarebbe abbastanza familiare a voi.

56
00:04:50,340 --> 00:04:57,560
Ora con nodo, abbiamo la possibilità di utilizzare JavaScript o Typescript.

57
00:04:57,560 --> 00:05:02,350
Ora la documentazione per il nodo e

58
00:05:02,350 --> 00:05:07,865
anche esprimere che vedremo più avanti, tutti usano JavaScript standard.

59
00:05:07,865 --> 00:05:13,465
Quindi ho utilizzato in modo predefinito JavaScript standard in questo corso o

60
00:05:13,465 --> 00:05:16,505
ES2015 JavaScript in questo corso.

61
00:05:16,505 --> 00:05:18,585
Se si preferisce utilizzare TypeScript,

62
00:05:18,585 --> 00:05:24,620
è possibile impostare gli esempi di nodo per scrivere l'applicazione in TypeScript.

63
00:05:24,620 --> 00:05:28,740
Ma poi dovrai trasporre quel codice in JavaScript in modo

64
00:05:28,740 --> 00:05:31,090
che possa essere eseguito usando Node.

65
00:05:31,090 --> 00:05:34,150
Quindi devi configurare un'infrastruttura aggiuntiva

66
00:05:34,150 --> 00:05:36,640
per poter utilizzare TypeScript.

67
00:05:36,640 --> 00:05:40,630
In questo corso, utilizzerò JavaScript come lingua predefinita per

68
00:05:40,630 --> 00:05:41,960
il resto del corso.

69
00:05:41,960 --> 00:05:46,790
E non ho intenzione di entrare in Typescript usarlo in questo corso

70
00:05:46,790 --> 00:05:51,210
quando i nodi iniziano a supportare Typescript in modo nativo,

71
00:05:51,210 --> 00:05:55,220
quindi ha più senso passare a Typescript [INUDIBLE].

72
00:05:55,220 --> 00:05:57,550
Ma se sei interessato a Typescript,

73
00:05:57,550 --> 00:06:01,770
ho notato che ci sono stati diversi articoli del blog pubblicati da

74
00:06:01,770 --> 00:06:07,400
persone diverse che illustrano come è possibile impostare l'applicazione Node per utilizzare Typescript.

75
00:06:07,400 --> 00:06:11,420
Detto questo, torniamo al file index.js e

76
00:06:11,420 --> 00:06:13,030
quindi continuiamo con il nostro esempio.

77
00:06:13,030 --> 00:06:20,340
Quindi sto impostando un perimetro qui e poi anche una funzione area qui.

78
00:06:20,340 --> 00:06:22,460
Ancora una volta, prendendo due valori, x e y,

79
00:06:22,460 --> 00:06:26,650
che rappresentano la lunghezza e l'ampiezza del rettangolo.

80
00:06:26,650 --> 00:06:31,830
I due parametri, e l'area è calcolata come x volte y.

81
00:06:31,830 --> 00:06:36,150
Quindi dalla tua matematica della scuola primaria,

82
00:06:36,150 --> 00:06:40,670
sai come calcolare il perimetro e l'area del rettangolo.

83
00:06:40,670 --> 00:06:45,120
Quindi qui, ho impostato questo oggetto JavaScript qui e

84
00:06:45,120 --> 00:06:50,690
poi lasciami definire una funzione qui chiamata SolveRect,

85
00:06:50,690 --> 00:06:54,166
che prende due valori, (l,

86
00:06:54,166 --> 00:06:58,180
b), come i due parametri, la lunghezza e l'ormeggio del rettangolo.

87
00:06:58,180 --> 00:07:03,409
E userà questo oggetto JavaScript che ho definito

88
00:07:03,409 --> 00:07:09,750
in precedenza per calcolare il perimetro e l'area del rettangolo.

89
00:07:09,750 --> 00:07:12,762
Quindi qui dentro,

90
00:07:12,762 --> 00:07:17,710
lasciami fare un console.log e

91
00:07:17,710 --> 00:07:25,035
dire Risolvere per rettangolo con l uguale a

92
00:07:28,483 --> 00:07:30,827
Questo è solo per nostra comodità.

93
00:07:40,010 --> 00:07:45,335
Quindi stamperà queste informazioni sul terminale lì e

94
00:07:45,335 --> 00:07:50,944
così in questo console.log, sto solo stampando i valori l e b, in modo

95
00:07:50,944 --> 00:07:58,130
che io sappia per il rettangolo per il quale stiamo calcolando la lunghezza e l'ampiezza.

96
00:07:58,130 --> 00:08:03,118
Ora, ho intenzione di controllare per assicurarmi che la lunghezza e

97
00:08:03,118 --> 00:08:07,870
la larghezza non siano inferiori o uguali a zero.

98
00:08:07,870 --> 00:08:13,340
Se sono inferiori o uguali a zero, non ha senso calcolare

99
00:08:13,340 --> 00:08:19,790
il perimetro e l'area per il rettangolo.

100
00:08:19,790 --> 00:08:27,957
Quindi dirò console.log qui,

101
00:08:27,957 --> 00:08:33,790
quindi direi che

102
00:08:33,790 --> 00:08:39,040
le dimensioni rettangolari dovrebbero essere

103
00:08:39,040 --> 00:08:44,008
maggiori di zero.

104
00:08:58,175 --> 00:09:04,030
In questo modo, stampiamo questi valori sullo schermo se la lunghezza e

105
00:09:04,030 --> 00:09:07,640
la larghezza sono inferiori o uguali a zero.

106
00:09:07,640 --> 00:09:11,533
Altrimenti, ovviamente, ha senso calcolare il perimetro e

107
00:09:11,533 --> 00:09:13,370
l'area del rettangolo.

108
00:09:13,370 --> 00:09:16,944
Quindi diremo altro

109
00:09:16,944 --> 00:09:22,428
console.log («L'area

110
00:09:22,428 --> 00:09:27,679
del rettangolo è»).

111
00:09:55,345 --> 00:09:57,416
Allo stesso modo, calcoleremo,

112
00:10:10,161 --> 00:10:12,217
Il perimetro del rettangolo.

113
00:10:21,787 --> 00:10:22,562
Qui.

114
00:10:24,130 --> 00:10:27,602
Quindi all'interno di questa funzione, stiamo calcolando l'area e

115
00:10:27,602 --> 00:10:31,210
il perimetro del rettangolo e lo spurgo fuori.

116
00:10:31,210 --> 00:10:36,058
Ora, ovviamente abbiamo bisogno di chiamare questa funzione utilizzando valori diversi per

117
00:10:36,058 --> 00:10:39,230
lunghezza e larghezza e vedere cosa stampa.

118
00:10:39,230 --> 00:10:45,196
Quindi proprio qui sotto, ho intenzione di dire SolveRect e

119
00:10:45,196 --> 00:10:48,150
quindi utilizzare alcuni valori qui.

120
00:10:48,150 --> 00:10:54,533
Quindi dirò 2, 4, E 3, 5.

121
00:10:58,375 --> 00:11:04,771
E diciamo 0, 5 e vediamo cosa succede.

122
00:11:04,771 --> 00:11:11,957
E -3, 5.

123
00:11:11,957 --> 00:11:16,099
Quindi quattro diverse scelte di parametri qui per

124
00:11:16,099 --> 00:11:21,130
illustrare come questa applicazione sta andando a funzionare.

125
00:11:21,130 --> 00:11:24,640
Quindi con questo, salviamo le modifiche.

126
00:11:24,640 --> 00:11:30,590
Ora tornando al terminale, al prompt, digita npm start e

127
00:11:30,590 --> 00:11:36,530
vedrai che stampa l'area del perimetro per

128
00:11:36,530 --> 00:11:39,980
i diversi rettangoli che abbiamo specificato lì.

129
00:11:39,980 --> 00:11:44,000
Quindi stiamo dicendo che risolvere per il rettangolo con l è uguale a due e

130
00:11:44,000 --> 00:11:48,890
b è uguale a quattro, e l'area del perimetro per questo rettangolo.

131
00:11:48,890 --> 00:11:53,190
E per il secondo, e per il terzo, come vedi,

132
00:11:54,380 --> 00:11:58,870
le tue dimensioni dovrebbero essere maggiori di zero e

133
00:11:58,870 --> 00:12:02,450
anche per il quarto, sta stampando lo stesso valore.

134
00:12:02,450 --> 00:12:07,010
Ora, ovviamente, noto che avrei bisogno di uno spazio lì, quindi correggerò

135
00:12:07,010 --> 00:12:12,731
il codice da aggiungere in quello spazio extra lì.

136
00:12:12,731 --> 00:12:18,540
Quindi, con questo, abbiamo visto come possiamo scrivere una semplice applicazione nodo

137
00:12:18,540 --> 00:12:24,260
per calcolare il perimetro e l'area di un rettangolo.

138
00:12:24,260 --> 00:12:27,780
Ora, ovviamente, vuoi essere in grado di impostare un repository Git,

139
00:12:27,780 --> 00:12:31,930
dove puoi memorizzare tutto questo codice.

140
00:12:31,930 --> 00:12:39,110
Quindi al prompt digitare git init per inizializzare il repository Git e

141
00:12:39,110 --> 00:12:45,195
quindi è possibile controllare lo stato del repository Git e

142
00:12:45,195 --> 00:12:48,655
si nota che due file sono stati appena creati.

143
00:12:48,655 --> 00:12:52,651
Quindi aggiungiamo i due file al nostro repository Git, e

144
00:12:52,651 --> 00:12:56,535
a questo punto,

145
00:12:56,535 --> 00:13:00,505
controllando lo stato git, si vede che i due file sono stati archiviati.

146
00:13:00,505 --> 00:13:06,611
Quindi facciamo un git commit rompere

147
00:13:06,611 --> 00:13:13,710
il messaggio Simple Node Esempio.

148
00:13:13,710 --> 00:13:18,970
Nella seconda parte di questo esercizio, verrà

149
00:13:20,130 --> 00:13:24,330
creato un modulo nodo in questo esempio.

150
00:13:24,330 --> 00:13:29,191
Quindi nell'editor, nell'editor,

151
00:13:29,191 --> 00:13:34,610
crea un file chiamato rectangle.js.

152
00:13:34,610 --> 00:13:38,130
E all'interno di questo file, stiamo andando a creare un modulo nodo.

153
00:13:38,130 --> 00:13:43,100
Quindi abbiamo intenzione di utilizzare l'

154
00:13:43,100 --> 00:13:47,892
oggetto esportazioni al fine di esportare i due

155
00:13:47,892 --> 00:13:52,517
valori da questo modulo nodo.

156
00:13:52,517 --> 00:13:59,063
Quindi, come hai imparato, ogni file in un'applicazione nodo diventa il proprio modulo nodo.

157
00:13:59,063 --> 00:14:02,264
Quindi, da questo modulo di nodo rettangolo,

158
00:14:02,264 --> 00:14:05,909
esporterò due valori, il perimetro,

159
00:14:09,841 --> 00:14:15,544
e l'area.

160
00:14:15,544 --> 00:14:22,080
Ora andrò nel file index.js e poi semplicemente copierò questo valore.

161
00:14:24,610 --> 00:14:29,558
E questo è ciò che useremo come esportazione per

162
00:14:29,558 --> 00:14:33,820
il perimetro qui e allo stesso modo per

163
00:14:33,820 --> 00:14:38,495
l'area

164
00:14:38,495 --> 00:14:44,340
che ho intenzione di copiare questo dal file js indice e quindi usarlo per l'area.

165
00:14:44,340 --> 00:14:49,498
Così ora, abbiamo un semplice modulo nodo pronto, che sta esportando due valori,

166
00:14:49,498 --> 00:14:53,222
il perimetro e l'area da questo file rectangle.js.

167
00:14:53,222 --> 00:14:57,583
Così come abbiamo imparato nella lezione, moduli nodo [INAUDIBILE],

168
00:14:57,583 --> 00:15:02,273
ora una volta creato un modulo nodo, è necessario inserire quel modulo nodo

169
00:15:02,273 --> 00:15:05,970
in un altro file in cui si desidera farne uso.

170
00:15:05,970 --> 00:15:09,771
Quindi tornando al file index.js.

171
00:15:09,771 --> 00:15:17,372
Ora ho intenzione di sostituire tutta questa cosa con require e

172
00:15:17,372 --> 00:15:22,870
noto che questo modulo nodo si trova nella

173
00:15:22,870 --> 00:15:27,250
stessa cartella del progetto corrente.

174
00:15:27,250 --> 00:15:31,560
Quindi direi che richiedono rettangolo e il gioco è fatto.

175
00:15:31,560 --> 00:15:33,900
Quindi i miei cambiamenti sono ora completi.

176
00:15:33,900 --> 00:15:39,550
Quindi questo particolare file index.js sta per importare il

177
00:15:39,550 --> 00:15:45,190
modulo nodo rettangolo che abbiamo appena creato, e quindi fare uso di esso all'interno del nostro codice qui.

178
00:15:45,190 --> 00:15:46,750
Quindi salviamo le modifiche e

179
00:15:46,750 --> 00:15:51,780
poi diamo un'occhiata alla nostra applicazione di nuovo, al prompt del terminale.

180
00:15:51,780 --> 00:15:56,160
Andando al terminale, al prompt, digitare npm start.

181
00:15:58,200 --> 00:16:02,100
Si noterà che la

182
00:16:02,100 --> 00:16:07,310
versione modificata di questa applicazione produce esattamente gli stessi risultati di prima.

183
00:16:07,310 --> 00:16:12,229
Con questo, impariamo su come è possibile creare un semplice

184
00:16:12,229 --> 00:16:14,699
modulo nodo nella nostra applicazione.

185
00:16:14,699 --> 00:16:19,781
Ora controllando lo stato git, vedrai che hai due file,

186
00:16:19,781 --> 00:16:25,370
uno che è stato modificato, un altro che è stato appena aggiunto.

187
00:16:25,370 --> 00:16:30,050
Quindi aggiungiamo questo al nostro repository Git e

188
00:16:30,050 --> 00:16:34,088
poi facciamo un git commit con il messaggio,

189
00:16:34,088 --> 00:16:40,360
Simple Node Module.

190
00:16:42,160 --> 00:16:47,823
E controlla il log git e

191
00:16:47,823 --> 00:16:52,455
noterai che abbiamo due commit che

192
00:16:52,455 --> 00:16:56,987
abbiamo commesso nel nostro repository Git lì.

193
00:16:56,987 --> 00:16:59,468
Con questo, completiamo questo esercizio.

194
00:16:59,468 --> 00:17:03,000
In questo esercizio, abbiamo visto come possiamo scrivere una semplice applicazione nodo.

195
00:17:03,000 --> 00:17:06,612
E anche come possiamo scrivere un semplice modulo nodo e

196
00:17:06,612 --> 00:17:10,419
usarlo con un altro file nella nostra applicazione nodo.

197
00:17:10,419 --> 00:17:16,469
[ MUSIC]