Nelle lezioni precedenti,
abbiamo imparato a conoscere Node.
Abbiamo anche visto come Node può essere utilizzato per impostare un server Web.
Ora i progettisti del nodo hanno intenzionalmente mantenuto il nodo piccolo con un piccolo numero di
moduli di codice in modo che possano lasciare
agli sviluppatori di terze parti di trovare soluzioni innovative ai problemi.
Quindi, una volta rilasciato Node, un certo numero di sviluppatori di terze parti ha iniziato a progettare
e rilasciare interessanti moduli di terze parti che possono essere eseguiti sulla piattaforma Node.
Ora avete visto un certo numero di moduli Node che potrebbero essere
utilizzati per lo sviluppo front-end nei corsi precedenti.
Ora in questo corso stiamo esaminando lo sviluppo lato server e sul lato server,
uno dei più popolari moduli Nodo di terze parti o
framework per la costruzione di server HTTP è Express.
Diamo un'occhiata ad alcuni dettagli di Express in
questa lezione e poi faremo uso di Express per
costruire un server che serve l'API REST per tutto il resto di questo corso.
Innanzitutto, cos'è Express?
Express è un
framework veloce, inopinionato e minimalista che funziona su Node.js e supporta lo sviluppo Web.
Questa è la definizione che ho preso in prestito da expressjs.com,
il sito in cui Express relativa documentazione è disponibile per noi.
Ora Express consente di sviluppare un'applicazione Web,
applicazione lato server che servirà i contenuti per il consumo da parte del nostro front-end.
Express fornisce un solido insieme di funzionalità che esploreremo
più dettagliatamente attraverso il resto delle lezioni di questo corso.
Esprimere se stesso come ho detto è un framework minimalista,
e Express fornisce anche un modo per estendere e aggiungere
funzionalità a Express tramite middleware di terze parti.
Ciò estende la funzionalità di Express e aggiunge altre funzionalità come richiesto.
Pertanto, è possibile creare il server Web utilizzando altrettanti middleware di terze parti
necessari per soddisfare le esigenze del server Web che si sta progettando.
Vedremo alcuni esempi di middleware di terze parti in questa lezione e ne
esploreremo anche altri mentre affronteremo il resto delle lezioni di questo corso.
Per utilizzare Express nel tuo progetto, ovviamente,
il primo passo è installare Express e poiché Express è un modulo Node,
lo installiamo dicendo npm install express —save
e questo installerebbe Express nel tuo progetto locale.
Vedremo l'uso di questo nell'esercizio che segue questa lezione.
Parliamo brevemente del middleware Express.
Quindi qual è esattamente lo scopo del middleware?
Il middleware che Express supporta fornisce un sacco di
funzionalità plug-in che sarebbe usato
per migliorare la vostra applicazione Express, funzionalità plug-in come ad esempio vedremo
un middleware chiamato Morgan che consente di
stampare le informazioni di registro sullo schermo del richieste che entrano nel tuo server.
Allo stesso modo, esamineremo un altro middleware chiamato BodyParser,
che consente di analizzare il corpo del
messaggio di richiesta HTTP in arrivo ed estrarre
le informazioni da esso per l'uso all'interno dell'applicazione Express.
Vedremo l'uso di questi nell'esercizio che segue.
Come ho detto, Morgan esegue la registrazione delle informazioni sulla console sul lato server,
informazioni sulle richieste in arrivo.
Allo stesso modo, possono servire risorse Web statiche dal nostro server usando la
statica Express, quindi questo servirà informazioni da una cartella all'interno del nostro progetto Express,
e nel dichiarare il progetto puoi dire che sono il nome del
file doppio sottolineatura e il nome della directory di sottolineatura doppio o dirname che
ti dà il percorso completo per il file o la directory per
il modulo corrente e mi vedrai usare quello nell'esercizio.
Ora che abbiamo capito un po 'su
Express e il middleware che Express utilizza,
diamo un'occhiata a un modulo Node
perché questa è la prima volta che stiamo incontrando un modulo Node di terze parti,
vedremo alcuni dettagli sui moduli Node di terze parti quindi se esamineremo il
package.json per vedere cosa è contenuto nel file package.json,
vedremo anche il controllo semantico delle versioni.
Quindi, quando si specifica la versione del pacchetto che si utilizza,
si specifica sempre la versione specificando la versione principale.La patch.
Quindi, quando si installa un pacchetto,
è sempre identificato da questi tre numeri,
versione principale che potrebbe introdurre cambiamenti di rottura, il che significa che se si
sta installando una versione più recente del pacchetto potrebbe non essere
completamente compatibile con le versioni precedenti.
Potrebbe introdurre cambiamenti di interruzione per cui potrebbe essere necessario tornare indietro e correggere
il codice che potresti aver scritto nella versione precedente del tuo progetto.
La versione secondaria introduce
alcune modifiche minori al pacchetto e potrebbe non interrompere le modifiche.
Una patch sarebbe una correzione di bug che viene spesso emessa, quindi viene scoperto un piccolo bug.
Quindi le patch di solito non portano a modifiche di interruzione e quindi puoi facilmente usare
una versione superiore o una versione patch superiore di
un particolare pacchetto che stai usando all'interno dell'applicazione Node.
Quando si installa un pacchetto è possibile specificare
la versione esatta del pacchetto da installare dicendo npm install,
ad esempio se si desidera installare la
versione 4.0.0 di Express si può dire express @4 .0.0.
Quindi stai specificando esplicitamente quale versione del pacchetto installare.
Se stai bene con una versione di patch di livello superiore,
diresti npm install express@"~4.0.0 Se
una versione secondaria superiore di un pacchetto è
accettabile, allora diresti @ e il nome del pacchetto.
Ora questo tipo di informazioni viene salvato anche nel file package.json,
faremo rapidamente una visita al pacchetto di file json
dove noterete alcune di queste informazioni in fase di salvataggio.
Ora, quando fai l'esercizio che segue questa lezione,
vedrai questo nel file package.json.
Questo sarà il risultato del completamento dell'esercizio che segue questa lezione.
Nell' esercizio costruiremo un semplice server Web utilizzando Express.
Ora lascia che ti porti attraverso un rapido tour di package.json
per illustrare alcune informazioni in package.json.
Quindi nel file package.json noterai queste informazioni qui,
questa proprietà per il nostro json che è memorizzata qui chiamata Dipendenze.
Le dipendenze è dove specificherai
quali moduli di terze parti aggiuntivi da
cui dipende questo particolare progetto Node,
quindi come puoi vedere qui stiamo dicendo che questo progetto dipende da Express
e Morgan e nota in particolare come queste informazioni sono specificate Qui.
Quindi questo è ^4.16.3 il che significa che
funzionerà con qualsiasi versione che è 4.16.3 o superiore.
È possibile utilizzare una versione minore di livello superiore e questo progetto sarà ancora a
posto con esso e allo stesso modo per Morgan abbiamo specificato le informazioni qui.
Quindi queste informazioni aggiuntive vengono aggiunte nel file package.json ogni volta che si esegue
l'installazione di npm e si dice —save flag per l'installazione di npm.
Ora, noterai anche che ho creato un file.gitignore qui e all'interno
del file.gitignore ho specificato che git dovrebbe ignorare la cartella dei moduli Node.
Quindi cosa è contenuto esattamente nella cartella dei moduli del nodo?
Se si installano moduli di terze parti nell'applicazione Node,
tutti questi moduli di terze parti verranno salvati nella cartella dei moduli Node qui,
quindi all'interno del progetto vedrete che la cartella dei moduli Node è stata creata qui.
E dando un'occhiata alla cartella dei moduli del nodo vedrai
un sacco di pacchetti che sono stati installati.
Ora tutti questi sono stati installati perché si
installa Express ed Express a sua volta dipende da
alcuni altri pacchetti che sono necessari in modo che anche quelli vengono installati qui per impostazione predefinita.
In particolare, permettimi di attirare la tua attenzione sul pacchetto Express qui,
quindi se vai nel pacchetto Express vedrai
informazioni aggiuntive memorizzate nel pacchetto Express,
quindi la prospettiva dell'indice anche poiché Express stesso è
un modulo Node vedrai un
file package.json all'interno di Express anche che contiene
informazioni aggiuntive che ovviamente sono molto dettagliate lì,
difficile per noi da capire, ma nota in particolare
che Express stesso dipende da molti altri moduli Node qui.
E questo è il motivo per cui tutti questi altri moduli Node
sono stati installati anche nella cartella dei moduli Node.
Quindi, quando installi Express,
questo attiverà immediatamente anche tutte le sue dipendenze da installare perché
Express richiederà questi altri moduli Node per farlo fare il suo lavoro.
Inoltre, all'interno di Express vedrai anche il file index.js.
Quindi questo è il punto di partenza per il nostro modulo Express Node stesso e
nota in particolare che il file index.js dice semplicemente module.exports richiedono lib express.
Quindi il codice effettivo per il modulo Express stesso è all'interno di questo progetto
lib, cartella lib qui e puoi vedere i dettagli.
Quindi, se siete curiosi di vedere i dettagli di Express stesso si può andare a guardare
lì dentro, ma ancora una volta questo potrebbe essere un po 'troppo per voi in questo momento.
Per il momento basta accettare il fatto che Express farà il suo lavoro come previsto.
Ma ho pensato che sarebbe stata un'esperienza interessante visitare la cartella del modulo Node
per esaminare una struttura di un particolare modulo Node di terze parti in modo un po 'più dettagliato.
Inoltre, noterai che c'è un altro file
qui chiamato package-lock.json che è installato.
Ora questo viene installato dalle versioni più recenti di npm.
Il file package-lock.json viene generato automaticamente da
npm che memorizza
le informazioni sull'albero esatto che è stato generato quando si installano
altri moduli Node e questo è molto utile quando è
necessario eseguire l'installazione dei moduli Node in un'altra posizione.
Ad esempio, se scarichi un repository Git e
provi a ricreare questo progetto su un altro computer,
digiti semplicemente npm install sul prompt e
chiederà all'applicazione Node di
installare automaticamente tutto ciò che è specificato nelle dipendenze qui per te.
Durante la creazione che il package-lock.json memorizza informazioni aggiuntive che vengono utilizzate da
npm per eseguire la corretta installazione di tutti i moduli npm necessari.
Ora per il momento non è necessario preoccuparsi dei dettagli di
ciò che c'è all'interno del file package-lock.json.
Con questo, completiamo questa lezione dove abbiamo esaminato alcuni dettagli su Express.