Tutorial su Node.js Express FrameWork: impara in 10 minuti
In questo tutorial studieremo il framework Express. Questo framework è costruito in modo tale da agire come un framework di applicazioni web Node.js minimo e flessibile, fornendo un solido set di funzionalità per la creazione di applicazioni web singole, multipagina e ibride.
Cos'è Express.js?
Express.js è un framework per server di applicazioni Web Node js, progettato specificamente per la creazione di applicazioni Web a pagina singola, multipagina e ibride.
È diventato il framework server standard per node.js. Express è la parte backend di qualcosa noto come stack MEAN.
The MEAN è gratuito e open source JavaCopione stack software per la creazione di siti web dinamici e applicazioni web che comprende i seguenti componenti;
1) MongoDB – Il database NoSQL standard
2) Express.js – Il framework delle applicazioni Web predefinito
3) Angular.js - L' JavaFramework script MVC utilizzato per le applicazioni web
4) Node.js – Framework utilizzato per applicazioni lato server e di rete scalabili.
Il framework Express.js semplifica lo sviluppo di un'applicazione che può essere utilizzata per gestire più tipi di richieste come le richieste GET, PUT, POST e DELETE.
Installazione e utilizzo di Express
Express viene installato tramite il Node Package Manager. Questo può essere fatto eseguendo la seguente riga nella riga di comando
npm installa espresso
Il comando precedente richiede al gestore pacchetti Node di scaricare i moduli espressi richiesti e di installarli di conseguenza.
Usiamo il nostro framework Express appena installato e creiamo una semplice applicazione "Hello World".
La nostra applicazione creerà un semplice modulo server che resterà in ascolto sulla porta numero 3000. Nel nostro esempio, se viene effettuata una richiesta tramite il browser su questo numero di porta, l'applicazione server invierà una risposta "Hello' World" al client .
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Spiegazione del codice:
- Nella nostra prima riga di codice, utilizziamo la funzione require per includere il "modulo express".
- Prima di poter iniziare a utilizzare il modulo express, dobbiamo crearne un oggetto.
- Qui stiamo creando una funzione di callback. Questa funzione verrà chiamata ogni volta che qualcuno accede alla radice della nostra applicazione web che è http://localhost:3000 . La funzione di callback verrà utilizzata per inviare la stringa "Hello World" alla pagina web.
- Nella funzione di callback, inviamo la stringa "Hello World" al client. Il parametro 'res' viene utilizzato per rimandare il contenuto alla pagina web. Questo parametro "res" è qualcosa che viene fornito dal modulo "richiesta" per consentire di inviare nuovamente il contenuto alla pagina web.
- Utilizzeremo quindi la funzione di ascolto per fare in modo che la nostra applicazione server ascolti le richieste del client sulla porta n. 3000. Puoi specificare qualsiasi porta disponibile qui.
Se il comando viene eseguito correttamente, quando si esegue il codice nel browser verrà visualizzato il seguente output.
Produzione:
Dall'uscita,
- Puoi vedere chiaramente che se navighiamo verso l'URL di localhost sulla porta 3000, vedrai la stringa "Hello World" visualizzata sulla pagina.
- Poiché nel nostro codice abbiamo menzionato specificamente che il server è in ascolto sulla porta n. 3000, siamo in grado di visualizzare l'output quando navighiamo verso questo URL.
Cosa sono i percorsi?
Il routing determina il modo in cui un'applicazione risponde a una richiesta del client a un particolare endpoint.
Ad esempio, un client può effettuare una richiesta http GET, POST, PUT o DELETE per vari URL come quelli mostrati di seguito;
http://localhost:3000/Books http://localhost:3000/Students
Nell'esempio sopra,
- Se viene effettuata una richiesta GET per il primo URL, la risposta dovrebbe idealmente essere un elenco di libri.
- Se la richiesta GET viene effettuata per il secondo URL, la risposta dovrebbe idealmente essere un elenco di Studenti.
- Quindi, in base all'URL a cui si accede, verrà richiamata una funzionalità diversa sul server web e, di conseguenza, la risposta verrà inviata al client. Questo è il concetto di routing.
Ogni rotta può avere una o più funzioni di gestione, che vengono eseguite quando la rotta viene abbinata.
La sintassi generale per una rotta è mostrata di seguito
app.METHOD(PATH, HANDLER)
In cui,
1) app è un'istanza del modulo express
2) METHOD è un metodo di richiesta HTTP (GET, POST, PUT o DELETE)
3) PATH è un percorso sul server.
4) HANDLER è la funzione eseguita quando la rotta viene abbinata.
Diamo un'occhiata a un esempio di come possiamo implementare i percorsi nell'espresso. Il nostro esempio creerà 3 percorsi come
- Una rotta /Nodo che visualizzerà la stringa "Tutorial sul nodo" se si accede a questa rotta
- Una rotta /Angular che visualizzerà la stringa "Tutorial su Angular" se si accede a questa rotta
- Un percorso predefinito / che visualizzerà la stringa "Benvenuti nei tutorial di Guru99".
Il nostro codice di base rimarrà lo stesso degli esempi precedenti. Lo snippet seguente è un componente aggiuntivo per mostrare come viene implementato il routing.
var express = require('express'); var app = express(); app.route('/Node').get(function(req,res) { res.send("Tutorial on Node"); }); app.route('/Angular').get(function(req,res) { res.send("Tutorial on Angular"); }); app.get('/',function(req,res){ res.send('Welcome to Guru99 Tutorials'); }));
Spiegazione del codice:
- Qui stiamo definendo un percorso se l'URL http://localhost:3000/Node è selezionato nel browser. Al percorso alleghiamo una funzione di callback che verrà chiamata quando navighiamo verso l'URL del nodo. La funzione ha 2 parametri.
- Il parametro principale che utilizzeremo è il parametro 'res', che può essere utilizzato per inviare informazioni al client.
- Il parametro 'req' contiene informazioni sulla richiesta effettuata. A volte potrebbero essere inviati parametri aggiuntivi come parte della richiesta effettuata e quindi il parametro "req" può essere utilizzato per trovare i parametri aggiuntivi inviati.
- Stiamo utilizzando la funzione di invio per inviare la stringa "Tutorial on Node" al client se viene scelta la rotta Node.
- Qui stiamo definendo un percorso se l'URL http://localhost:3000/Angular è selezionato nel browser. Al percorso alleghiamo una funzione di callback che verrà chiamata quando navighiamo verso l'URL Angular.
- Stiamo utilizzando la funzione send per inviare la stringa "Tutorial on Angular" al client se viene scelta la rotta Angular.
- Questo è il percorso predefinito che viene scelto quando si accede al percorso dell'applicazione – http://localhost:3000. Quando viene scelto il percorso predefinito, al cliente verrà inviato il messaggio "Benvenuto nei tutorial di Guru99".
Se il comando viene eseguito correttamente, quando si esegue il codice nel browser verrà visualizzato il seguente output.
Produzione:
Dall'uscita,
- Puoi vedere chiaramente che se navighiamo verso l'URL di localhost sulla porta 3000, vedrai la stringa "Benvenuto in Guru99 Tutorials" visualizzata sulla pagina.
- Perché nel nostro codice abbiamo menzionato che il nostro URL predefinito visualizzerà questo messaggio.
Dall'uscita,
- Puoi vedere che se l'URL è stato cambiato in /Node, verrebbe scelto il rispettivo percorso del nodo e verrà visualizzata la stringa "Tutorial On Node".
Dall'uscita,
- Puoi vedere che se l'URL è stato modificato in /Angular, verrà scelta la rispettiva rotta del nodo e verrà visualizzata la stringa "Tutorial On Angular".
Server Web di esempio che utilizza express.js
Dal nostro esempio precedente, abbiamo visto come possiamo decidere quale output mostrare in base al routing. Questo tipo di routing è quello utilizzato nella maggior parte delle applicazioni web moderne. L'altra parte di un server web riguarda l'utilizzo dei modelli in Node js.
Quando si creano applicazioni Node rapide e al volo, un modo semplice e veloce è utilizzare i modelli per l'applicazione. Sul mercato sono disponibili molti framework per la creazione di modelli. Nel nostro caso, prenderemo l'esempio della struttura in giada per il template.
Jade viene installato tramite il gestore pacchetti Node. Questo può essere fatto eseguendo la seguente riga nella riga di comando
npm installa giada
Il comando precedente richiede al gestore pacchetti Node di scaricare i moduli jade richiesti e installarli di conseguenza.
NOTA: Nell'ultima versione di Node jade è stato deprecato. Invece, usa il carlino.
Usiamo il nostro framework Jade appena installato e creiamo alcuni modelli di base.
Passo 1) Il primo passo è creare un modello di giada. Crea un file chiamato index.jade e inserisci il codice seguente. Assicurati di creare il file nella cartella "views".
- Qui stiamo specificando che il titolo della pagina verrà modificato in qualunque valore venga passato quando questo modello viene richiamato.
- Stiamo anche specificando che il testo nel tag header verrà sostituito con qualunque cosa venga passata nel template jade.
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { res.render('index', {title:'Guru99',message:'Welcome'}) }); var server=app.listen(3000,function() {});
Spiegazione del codice:
- La prima cosa da specificare nell'applicazione è il “motore di visualizzazione” che verrà utilizzato per eseguire il rendering dei modelli. Poiché utilizzeremo jade per eseguire il rendering dei nostri modelli, lo specifichiamo di conseguenza.
- La funzione render viene utilizzata per eseguire il rendering di una pagina web. Nel nostro esempio, stiamo eseguendo il rendering del modello (index.jade) creato in precedenza.
- Stiamo passando i valori di "Guru99" e "Benvenuto" rispettivamente ai parametri "titolo" e "messaggio". Questi valori verranno sostituiti dai parametri "titolo" e "messaggio" dichiarati nel modello index.jade.
Se il comando viene eseguito correttamente, quando si esegue il codice nel browser verrà visualizzato il seguente output.
Produzione:
Dall'uscita,
- Possiamo vedere che il titolo della pagina viene impostato su "Guru99" e l'intestazione della pagina viene impostata su "Benvenuto".
- Ciò è dovuto al modello jade che viene richiamato nella nostra applicazione node js.
Sommario
- Il framework express è il framework più comune utilizzato per lo sviluppo di applicazioni Node js. Il framework express è costruito sul framework node.js e aiuta a velocizzare lo sviluppo di applicazioni basate su server.
- I percorsi vengono utilizzati per indirizzare gli utenti verso diverse parti delle applicazioni web in base alla richiesta effettuata. La risposta per ciascun percorso può essere variata a seconda di ciò che deve essere mostrato all'utente.
- I modelli possono essere utilizzati per inserire contenuti in modo efficiente. Jade è uno dei motori di template più popolari utilizzati nelle applicazioni Node.js.