﻿1
00:00:01,090 --> 00:00:02,770
‫Istruttore: Quindi quello che

2
00:00:02,770 --> 00:00:05,210
‫volevo mostrarti in questo ultimo video

3
00:00:05,210 --> 00:00:08,360
‫sul progetto è che possiamo effettivamente creare il nostro

4
00:00:08,360 --> 00:00:12,137
‫modulo ed esportare qualcosa da loro come ad esempio una funzione.

5
00:00:12,137 --> 00:00:16,710
‫Quindi importa questa funzione in un altro modulo e poi

6
00:00:16,710 --> 00:00:19,150
‫usa quella funzione lì.

7
00:00:19,150 --> 00:00:22,653
‫Ok, quindi è quello che faremo in questa lezione.

8
00:00:24,490 --> 00:00:26,680
‫Quindi diciamo che abbiamo effettivamente avuto

9
00:00:26,680 --> 00:00:28,816
‫un sacco di diversi file

10
00:00:28,816 --> 00:00:32,613
‫JavaScript in cui abbiamo usato questa funzione di sostituzione del modello.

11
00:00:34,240 --> 00:00:37,710
‫Quindi in questo momento lo stiamo solo usando qui in index. js.

12
00:00:37,710 --> 00:00:41,240
‫Lo usiamo due volte ed è per questo che abbiamo una

13
00:00:41,240 --> 00:00:43,062
‫funzione, ma immagina se volessimo

14
00:00:43,062 --> 00:00:44,960
‫usare questa funzione in più file.

15
00:00:44,960 --> 00:00:48,930
‫Ok, quindi quello che possiamo fare è creare un nuovo modulo ed

16
00:00:48,930 --> 00:00:50,790
‫esportare quella funzione da

17
00:00:50,790 --> 00:00:53,210
‫esso e poi importarla di nuovo qui.

18
00:00:53,210 --> 00:00:55,330
‫Quindi, la prima cosa che devi

19
00:00:55,330 --> 00:00:56,900
‫sapere è che

20
00:00:56,900 --> 00:01:01,420
‫in Nodejs in realtà ogni singolo file viene trattato come un modulo.

21
00:01:01,420 --> 00:01:06,210
‫E così questo indice. js qui in realtà è

22
00:01:06,210 --> 00:01:08,780
‫anche un modulo, che in questo caso

23
00:01:08,780 --> 00:01:11,663
‫importa altri moduli e in particolare questi tre.

24
00:01:13,610 --> 00:01:16,090
‫Creiamo ora una nuova cartella qui, che

25
00:01:16,090 --> 00:01:17,800
‫chiamerò moduli e poi

26
00:01:20,120 --> 00:01:21,105
‫qui

27
00:01:21,105 --> 00:01:23,050
‫creerò un file che sarà

28
00:01:23,050 --> 00:01:26,707
‫il nostro modulo chiamato replaceTemplate. js.

29
00:01:31,050 --> 00:01:34,793
‫Ok, allora prendiamo la nostra funzione qui.

30
00:01:37,220 --> 00:01:39,000
‫In realtà, ritaglialo da

31
00:01:40,730 --> 00:01:42,863
‫qui e incollalo semplicemente qui.

32
00:01:44,420 --> 00:01:48,560
‫Bene, ora come esportiamo effettivamente questa funzione

33
00:01:48,560 --> 00:01:50,350
‫da questo modulo?

34
00:01:50,350 --> 00:01:53,110
‫Bene, ci sono diversi modi per esportare

35
00:01:53,110 --> 00:01:54,166
‫qualcosa da

36
00:01:54,166 --> 00:01:56,040
‫un modulo e parleremo approfonditamente

37
00:01:56,040 --> 00:01:59,013
‫di tutto questo in un'altra sezione più avanti.

38
00:01:59,013 --> 00:01:59,904
‫Ma per

39
00:01:59,904 --> 00:02:04,303
‫ora non faremo altro che usare module. esportare.

40
00:02:08,020 --> 00:02:09,000
‫Quindi, in

41
00:02:09,000 --> 00:02:12,950
‫ogni modulo, abbiamo accesso a una variabile chiamata modulo

42
00:02:12,950 --> 00:02:16,360
‫e lì possiamo impostare la proprietà di esportazione.

43
00:02:16,360 --> 00:02:20,230
‫E che poi impostiamo su qualunque cosa vogliamo esportare.

44
00:02:20,230 --> 00:02:22,943
‫In questo caso, questa è solo questa funzione.

45
00:02:24,130 --> 00:02:25,940
‫Quindi ci libereremo di

46
00:02:27,660 --> 00:02:28,940
‫questo nome

47
00:02:28,940 --> 00:02:33,940
‫e quindi fondamentalmente ciò che assegneremo a questa proprietà di esportazione sul

48
00:02:34,151 --> 00:02:36,423
‫modulo è semplicemente questa funzione anonima.

49
00:02:37,700 --> 00:02:39,050
‫Ho detto anonimo

50
00:02:39,050 --> 00:02:42,110
‫perché in questo momento questa funzione non ha un nome.

51
00:02:42,110 --> 00:02:44,184
‫E quindi è

52
00:02:44,184 --> 00:02:47,867
‫solo una funzione anonima da assegnare a

53
00:02:47,867 --> 00:02:50,750
‫questa proprietà di esportazione sull'oggetto modulo.

54
00:02:50,750 --> 00:02:53,500
‫Di nuovo, questo è un oggetto

55
00:02:53,500 --> 00:02:56,820
‫a cui abbiamo accesso in ogni singolo modulo Nodejs.

56
00:02:56,820 --> 00:02:58,250
‫E ancora, più

57
00:02:58,250 --> 00:02:59,410
‫avanti imparerai

58
00:02:59,410 --> 00:03:02,020
‫come ciò accade effettivamente dietro le quinte.

59
00:03:02,020 --> 00:03:02,853
‫Ma per

60
00:03:02,853 --> 00:03:04,050
‫ora, usiamolo e non

61
00:03:04,050 --> 00:03:07,070
‫preoccupiamoci del motivo per cui funziona in questo modo.

62
00:03:07,070 --> 00:03:10,750
‫Quindi questo esporta questa funzione dal modulo.

63
00:03:10,750 --> 00:03:14,423
‫Andiamo all'indice. js e importarlo.

64
00:03:15,510 --> 00:03:19,410
‫E le importazioni di solito avvengono sempre all'inizio del file

65
00:03:19,410 --> 00:03:21,400
‫e dopo i moduli principali.

66
00:03:21,400 --> 00:03:23,100
‫Innanzitutto, abbiamo i moduli

67
00:03:23,100 --> 00:03:25,462
‫principali e poi abbiamo i nostri moduli.

68
00:03:25,462 --> 00:03:30,462
‫Faremo richiesta e poi il nostro modulo, che

69
00:03:30,890 --> 00:03:32,640
‫è punto...

70
00:03:32,640 --> 00:03:34,534
‫E ricorda nella funzione

71
00:03:34,534 --> 00:03:39,534
‫require, il punto in realtà indica la posizione corrente di questo modulo.

72
00:03:39,725 --> 00:03:43,660
‫Quindi ricorda quando abbiamo parlato della variabile del nome dir

73
00:03:43,660 --> 00:03:48,330
‫qui, che di solito è quella che punta alla cartella del modulo.

74
00:03:48,330 --> 00:03:50,860
‫Ma in questo caso nella funzione require,

75
00:03:50,860 --> 00:03:52,678
‫ricorda che c'è un'eccezione

76
00:03:52,678 --> 00:03:55,567
‫in cui questo punto punta effettivamente alla posizione

77
00:03:55,567 --> 00:03:57,740
‫in cui si trova questo modulo.

78
00:03:57,740 --> 00:03:58,660
‫E quindi in

79
00:03:58,660 --> 00:04:00,960
‫questo momento, questa è la cartella principale qui.

80
00:04:00,960 --> 00:04:04,410
‫E quindi da qui andiamo ai

81
00:04:05,660 --> 00:04:09,333
‫moduli e poi lì dentro abbiamo replaceTemplate.

82
00:04:12,480 --> 00:04:13,313
‫E ancora,

83
00:04:13,313 --> 00:04:15,220
‫proprio come con gli altri moduli, non abbiamo

84
00:04:15,220 --> 00:04:17,193
‫bisogno del file . js.

85
00:04:18,670 --> 00:04:22,700
‫Ora restituirà ciò che abbiamo esportato qui con

86
00:04:22,700 --> 00:04:24,929
‫module. esportazioni.

87
00:04:24,929 --> 00:04:28,321
‫Quello che abbiamo qui, questo codice, questa

88
00:04:28,321 --> 00:04:33,321
‫funzione, è ciò che verrà esportato da questa chiamata di funzione require.

89
00:04:33,370 --> 00:04:35,620
‫E così ora possiamo salvarlo in qualsiasi

90
00:04:35,620 --> 00:04:37,870
‫variabile e dargli il nome che vogliamo.

91
00:04:37,870 --> 00:04:40,460
‫Quindi potremmo semplicemente chiamarlo X se

92
00:04:40,460 --> 00:04:42,850
‫volessimo o davvero come volessimo.

93
00:04:42,850 --> 00:04:45,960
‫Ma invece gli sto solo dando questo nome che

94
00:04:45,960 --> 00:04:47,420
‫avevamo già qui

95
00:04:47,420 --> 00:04:50,670
‫in modo che non debba cambiare il mio codice qui.

96
00:04:50,670 --> 00:04:53,770
‫Quindi replaceTemplate è il nome che voglio

97
00:04:53,770 --> 00:04:56,160
‫dare a questa variabile che ora

98
00:04:56,160 --> 00:04:58,040
‫è questa funzione.

99
00:04:58,040 --> 00:04:59,580
‫E proprio così,

100
00:04:59,580 --> 00:05:01,900
‫abbiamo esportato qualcosa da un modulo

101
00:05:01,900 --> 00:05:04,203
‫e l'abbiamo importato in un altro.

102
00:05:05,689 --> 00:05:09,941
‫E così ora, se riavviamo il nostro

103
00:05:09,941 --> 00:05:13,900
‫server, tutto dovrebbe ancora funzionare.

104
00:05:13,900 --> 00:05:15,000
‫Ma in realtà non è così.

105
00:05:15,000 --> 00:05:18,300
‫Abbiamo qualche tipo di errore qui.

106
00:05:18,300 --> 00:05:20,920
‫E dice che non riesce a trovare il modulo.

107
00:05:20,920 --> 00:05:23,630
‫E questo perché sono stato così stupido da

108
00:05:23,630 --> 00:05:27,150
‫chiamare questa cartella qui moduli. js.

109
00:05:27,150 --> 00:05:28,600
‫Mi dispiace per quello.

110
00:05:28,600 --> 00:05:29,611
‫Questo

111
00:05:29,611 --> 00:05:32,363
‫ovviamente dovrebbe essere chiamato solo moduli.

112
00:05:34,270 --> 00:05:37,350
‫Ed è per questo che non mi dava il completamento automatico qui.

113
00:05:37,350 --> 00:05:39,194
‫Mi chiedevo perché fosse così.

114
00:05:39,194 --> 00:05:40,973
‫E ora lo sappiamo.

115
00:05:42,100 --> 00:05:43,540
‫Se non funziona per

116
00:05:43,540 --> 00:05:45,119
‫te, cambia semplicemente il nome

117
00:05:45,119 --> 00:05:49,413
‫qui di questa cartella e quindi tutto dovrebbe corrispondere e funzionare come dovrebbe.

118
00:05:50,730 --> 00:05:55,730
‫Ricarichiamo e sostituisce ancora tutto come dovrebbe.

119
00:05:56,160 --> 00:05:57,716
‫Lo stesso qui ovviamente.

120
00:05:57,716 --> 00:06:02,716
‫E quindi sì, ora abbiamo finito con questo progetto.

121
00:06:03,630 --> 00:06:06,380
‫Congratulazioni, ben fatto.

122
00:06:06,380 --> 00:06:09,974
‫Sei sulla buona strada per imparare Nodejs.

123
00:06:09,974 --> 00:06:11,500
‫Ora nel resto della

124
00:06:11,500 --> 00:06:12,770
‫sezione parleremo

125
00:06:12,770 --> 00:06:16,510
‫un po' del gestore di pacchetti del nodo o npm.

126
00:06:16,510 --> 00:06:18,380
‫E quindi continueremo a lavorare un

127
00:06:18,380 --> 00:06:19,770
‫po' con questo

128
00:06:19,770 --> 00:06:21,786
‫progetto ma senza aggiungere alcuna funzionalità.

129
00:06:21,786 --> 00:06:24,890
‫Ad ogni modo, ci vediamo nel prossimo video

130
00:06:24,890 --> 00:06:27,973
‫dove inizieremo a parlare di npm.

