[MUSICA]
In questa lezione impareremo come possiamo scrivere notifiche semplici.
Impareremo anche a conoscere i moduli Node e
come i moduli Node ci permettono di organizzare le nostre applicazioni in più file.
Saremo anche conoscere i diversi tipi di moduli nodo e
come possiamo importare moduli nodo nei nostri file della nostra applicazione nodo e
fare uso di loro all'interno della nostra applicazione.
Per prima cosa, impariamo i moduli Node in un po 'più in dettaglio in questa lezione.
JavaScript, quando è
stato progettato per essere un linguaggio di scripting da utilizzare all'interno del browser.
Quindi il piccolo regno all'interno del quale doveva essere usato è il browser.
Ora, come capisci da questa specializzazione, JavaScript è andato
ben oltre la sua intenzione originale, e ora viene utilizzato per scrivere applicazioni.
Entrambi da eseguire utilizzando framework all'interno del browser, e
anche per eseguire applicazioni sul lato server, come vedremo in questo corso.
JavaScript originariamente non è mai stato progettato con alcuna libreria comune.
Se si guardano linguaggi di programmazione standard come C, C ++, Java e così via,
tutti hanno librerie standard che consentono di accedere
all'hardware sottostante.
E anche fornire un modo strutturato di organizzare l'applicazione in
più file e quindi combinarli insieme quando si crea un'applicazione.
JavaScript non ha mai avuto nessuno di questo supporto quando è iniziato.
Perché, come abbiamo capito, JavaScript non è stato progettato
per lo scopo per il quale viene utilizzato oggi.
Ma, naturalmente,
le persone hanno capito le difficoltà quando è necessario espandere JavaScript
oltre un singolo file che viene utilizzato come linguaggio di scripting per il browser.
Ora, se hai un'applicazione JavaScript molto grande,
diventa ingombrante scrivere l'intero codice in un unico file.
E ovviamente vuoi che i risultati siano in grado di suddividere la tua applicazione in
più fatti.
Ora, a differenza dei linguaggi di programmazione tradizionali, JavaScript non ha mai avuto un modo
di distribuire il codice in più file e quindi combinarli insieme.
Quindi è qui che è arrivata l'API CommonJS per
colmare questa lacuna che riempie le esigenze di qualche applicazione comune.
E questo formato CommonJS definisce un formato modulo che può essere utilizzato per
suddividere l'applicazione JavaScript in più file.
E Node adotta quel formato CommonJS per
organizzare la nostra applicazione JavaScript in più file.
E all'interno di JavaScript, con il formato CommonJS,
ogni file diventa il proprio modulo Node.
Quindi impariamo un po 'di più sui moduli Node nel resto di questa lezione.
Quindi, come ho appena detto,
ogni file in un'applicazione Node diventa il proprio modulo Node.
Quindi il file o il file JavaScript definisce il limite per un modulo nodo.
Quindi all'interno di quel file, la specifica CommonJS
fornisce una variabile chiamata variabile del modulo che è un oggetto JavaScript.
E questo ti dà accesso alla definizione corrente del modulo all'interno di un file.
E su questo oggetto modulo, hai la
proprietà module.exports che determina l'esportazione dal modulo corrente.
Quindi, quando assegni qualcosa alla proprietà module.exports,
diventa il valore esportato dal modulo corrente. In
modo che quando questo modulo viene importato in un altro file
della nostra applicazione Node, allora tutto ciò che viene esportato da questo modulo
diventa disponibile nella seconda applicazione.
Vedremo un esempio in breve tempo.
Quando è necessario importare un modulo in un altro modulo,
questo è dove la funzione require viene utilizzata per importare il modulo.
Così come noteremo in breve tempo, la funzione require viene utilizzata
per importare un modulo nodo che è definito in altro file nel file corrente in modo
che possa essere utilizzato all'interno della nostra applicazione nodo.
I moduli nodo possono essere di tre categorie.
Abbiamo moduli nodo basato su file in cui definiamo il modulo nodo all'interno di un file,
all'interno della nostra applicazione e facciamo uso di esso all'interno della nostra applicazione.
Poi, abbiamo moduli di base che sono già parte del nodo.
I progettisti del nodo hanno mantenuto questi moduli di base intenzionalmente piccoli in modo
che il nodo può essere mantenuto piccolo.
Inoltre forniscono funzionalità sufficienti
in modo che i progettisti di moduli esterni possano aggiungere
funzionalità proprie che possono essere sfruttate quando abbiamo sviluppato applicazioni Node.
Quindi i moduli principali includono percorso, file system, os, util e alcuni altri.
Incontreremo alcuni di loro mentre andiamo avanti in questo corso.
Poi abbiamo moduli Nodo esterni.
Si tratta di moduli Nodo di terze parti che vengono sviluppati dagli sviluppatori Node e
quindi resi disponibili tramite l'ecosistema Node.
Quindi questi moduli Nodo esterni possono essere installati all'interno del nostro sistema utilizzando NPM.
Tante volte ci vedresti usando NPM install e
il nome del modulo Node e che sarà incluso all'interno della
nostra applicazione Node in una cartella denominata node_modules cartella.
E incontreremo moduli Nodo esterni in una lezione successiva di questo corso.
Come facciamo a utilizzare i moduli Node?
Quando è necessario utilizzare un modulo nodo all'interno di un altro file nodo all'interno dell'applicazione,
è necessario utilizzare la funzione require.
Ho brevemente menzionato la funzione require in una delle
diapositive precedenti lì.
La funzione require per i moduli nodo basati su file,
si specifica questo come richiedono e
quindi specificare il percorso del file che contiene il modulo nodo.
Quindi diresti require./, il nome del modulo se il file esiste
nella cartella corrente scritta quale esiste la tua applicazione Node.
Quindi questo specifica il percorso relativo al file dalla posizione corrente.
E anche per i moduli core ed esterni,
normalmente li specificheresti dicendo require e il nome del modulo.
È necessario specificare esplicitamente un percorso per esso.
Se è un modulo di base, è già parte di Node e
quindi verrà automaticamente incluso.
Se si tratta di un modulo esterno, verrà installato sia all'interno
della cartella node_modules nella cartella corrente, o se il nodo non
trova il modulo esterno all'interno della cartella node_modules nella cartella corrente,
andrà fino alla successiva cartella di livello superiore alla ricerca di quel modulo Node.
Oppure la successiva cartella di livello superiore e
la gerarchia fino a quando non individua i moduli Node che verranno
quindi importati per essere utilizzati all'interno dell'applicazione Node.
Se non è in grado di trovare il modulo Node nella gerarchia,
allora genererà ovviamente un errore che dice che manca il modulo Node.
Questo modo di organizzare è molto utile nel modo in cui
la struttura dell'applicazione Node è definita come ci incontreremo di
più nella parte successiva di questo corso.
Con questa rapida introduzione ai moduli Node, diamo un'occhiata a un esempio
che faremo come parte dell'esercizio che segue questa lezione.
Come abbiamo imparato in questa lezione, il
limite di un modulo nodo è definito dal file che contiene il codice qui.
Quindi qui, ho un esempio di un modulo Node definito come rectangle.js.
E lì dentro puoi vedere che sto usando due esportazioni qui,
sto dicendo exports.perimeter e exports.area.
E vedrai che qui non sto usando module.exports perché le
esportazioni stesse sono anche una versione abbreviata di module.exports.
Quindi, se non si desidera utilizzare completamente module.exports
ma si desidera solo esportare, allora questo è un altro modo di scrivere
quegli elementi che vengono esportati dai moduli nodo correnti.
Quindi qui stiamo esportando due funzioni, il perimetro e
l'area dal modulo nodo rettangolo.
Ora per fare uso di questo modulo in un altro file
, diamo un'occhiata al file index.js.
E la prima riga in questo file noterai che dice
var rect = require e tra virgolette,. /rettangolo.
Quindi questo sta specificando che il modulo rettangolo sarà importante qui,
ho fatto uso di all'interno di questo particolare file dell'applicazione.
Quindi questo è il modo in cui definiremmo i moduli nodo, e
questo è un esempio di un modulo nodo basato su file.
Incontreremo il nucleo e
i moduli Nodo esterni nelle lezioni successive di questo corso.
[ MUSIC]