‫Istruttore: Quindi quello che
‫volevo mostrarti in questo ultimo video
‫sul progetto è che possiamo effettivamente creare il nostro
‫modulo ed esportare qualcosa da loro come ad esempio una funzione.
‫Quindi importa questa funzione in un altro modulo e poi
‫usa quella funzione lì.
‫Ok, quindi è quello che faremo in questa lezione.
‫Quindi diciamo che abbiamo effettivamente avuto
‫un sacco di diversi file
‫JavaScript in cui abbiamo usato questa funzione di sostituzione del modello.
‫Quindi in questo momento lo stiamo solo usando qui in index. js.
‫Lo usiamo due volte ed è per questo che abbiamo una
‫funzione, ma immagina se volessimo
‫usare questa funzione in più file.
‫Ok, quindi quello che possiamo fare è creare un nuovo modulo ed
‫esportare quella funzione da
‫esso e poi importarla di nuovo qui.
‫Quindi, la prima cosa che devi
‫sapere è che
‫in Nodejs in realtà ogni singolo file viene trattato come un modulo.
‫E così questo indice. js qui in realtà è
‫anche un modulo, che in questo caso
‫importa altri moduli e in particolare questi tre.
‫Creiamo ora una nuova cartella qui, che
‫chiamerò moduli e poi
‫qui
‫creerò un file che sarà
‫il nostro modulo chiamato replaceTemplate. js.
‫Ok, allora prendiamo la nostra funzione qui.
‫In realtà, ritaglialo da
‫qui e incollalo semplicemente qui.
‫Bene, ora come esportiamo effettivamente questa funzione
‫da questo modulo?
‫Bene, ci sono diversi modi per esportare
‫qualcosa da
‫un modulo e parleremo approfonditamente
‫di tutto questo in un'altra sezione più avanti.
‫Ma per
‫ora non faremo altro che usare module. esportare.
‫Quindi, in
‫ogni modulo, abbiamo accesso a una variabile chiamata modulo
‫e lì possiamo impostare la proprietà di esportazione.
‫E che poi impostiamo su qualunque cosa vogliamo esportare.
‫In questo caso, questa è solo questa funzione.
‫Quindi ci libereremo di
‫questo nome
‫e quindi fondamentalmente ciò che assegneremo a questa proprietà di esportazione sul
‫modulo è semplicemente questa funzione anonima.
‫Ho detto anonimo
‫perché in questo momento questa funzione non ha un nome.
‫E quindi è
‫solo una funzione anonima da assegnare a
‫questa proprietà di esportazione sull'oggetto modulo.
‫Di nuovo, questo è un oggetto
‫a cui abbiamo accesso in ogni singolo modulo Nodejs.
‫E ancora, più
‫avanti imparerai
‫come ciò accade effettivamente dietro le quinte.
‫Ma per
‫ora, usiamolo e non
‫preoccupiamoci del motivo per cui funziona in questo modo.
‫Quindi questo esporta questa funzione dal modulo.
‫Andiamo all'indice. js e importarlo.
‫E le importazioni di solito avvengono sempre all'inizio del file
‫e dopo i moduli principali.
‫Innanzitutto, abbiamo i moduli
‫principali e poi abbiamo i nostri moduli.
‫Faremo richiesta e poi il nostro modulo, che
‫è punto...
‫E ricorda nella funzione
‫require, il punto in realtà indica la posizione corrente di questo modulo.
‫Quindi ricorda quando abbiamo parlato della variabile del nome dir
‫qui, che di solito è quella che punta alla cartella del modulo.
‫Ma in questo caso nella funzione require,
‫ricorda che c'è un'eccezione
‫in cui questo punto punta effettivamente alla posizione
‫in cui si trova questo modulo.
‫E quindi in
‫questo momento, questa è la cartella principale qui.
‫E quindi da qui andiamo ai
‫moduli e poi lì dentro abbiamo replaceTemplate.
‫E ancora,
‫proprio come con gli altri moduli, non abbiamo
‫bisogno del file . js.
‫Ora restituirà ciò che abbiamo esportato qui con
‫module. esportazioni.
‫Quello che abbiamo qui, questo codice, questa
‫funzione, è ciò che verrà esportato da questa chiamata di funzione require.
‫E così ora possiamo salvarlo in qualsiasi
‫variabile e dargli il nome che vogliamo.
‫Quindi potremmo semplicemente chiamarlo X se
‫volessimo o davvero come volessimo.
‫Ma invece gli sto solo dando questo nome che
‫avevamo già qui
‫in modo che non debba cambiare il mio codice qui.
‫Quindi replaceTemplate è il nome che voglio
‫dare a questa variabile che ora
‫è questa funzione.
‫E proprio così,
‫abbiamo esportato qualcosa da un modulo
‫e l'abbiamo importato in un altro.
‫E così ora, se riavviamo il nostro
‫server, tutto dovrebbe ancora funzionare.
‫Ma in realtà non è così.
‫Abbiamo qualche tipo di errore qui.
‫E dice che non riesce a trovare il modulo.
‫E questo perché sono stato così stupido da
‫chiamare questa cartella qui moduli. js.
‫Mi dispiace per quello.
‫Questo
‫ovviamente dovrebbe essere chiamato solo moduli.
‫Ed è per questo che non mi dava il completamento automatico qui.
‫Mi chiedevo perché fosse così.
‫E ora lo sappiamo.
‫Se non funziona per
‫te, cambia semplicemente il nome
‫qui di questa cartella e quindi tutto dovrebbe corrispondere e funzionare come dovrebbe.
‫Ricarichiamo e sostituisce ancora tutto come dovrebbe.
‫Lo stesso qui ovviamente.
‫E quindi sì, ora abbiamo finito con questo progetto.
‫Congratulazioni, ben fatto.
‫Sei sulla buona strada per imparare Nodejs.
‫Ora nel resto della
‫sezione parleremo
‫un po' del gestore di pacchetti del nodo o npm.
‫E quindi continueremo a lavorare un
‫po' con questo
‫progetto ma senza aggiungere alcuna funzionalità.
‫Ad ogni modo, ci vediamo nel prossimo video
‫dove inizieremo a parlare di npm.