I denne opplæringen vil vi studere Express-rammeverket. Dette rammeverket er bygget på en slik måte at det fungerer som et minimalt og fleksibelt Node.js-nettapplikasjonsrammeverk, og gir et robust sett med funksjoner for å bygge enkelt- og flersidig og hybrid webapplikasjon.
I denne veiledningen vil du lære-
- Hva er Express.js?
- Installere og bruke Express
- Hva er ruter?
- Eksempel på webserver ved hjelp av express.js
Hva er Express.js?
Express.js er et rammeverk for Node js-webapplikasjonsserver, som er spesielt utviklet for å bygge applikasjoner med én side, flerside og hybrid.
Det har blitt standard serverrammeverk for node.js. Express er backend-delen av noe som kalles MEAN-stakken.
MEAN er en gratis JavaScript-programvarestabel med åpen kildekode for å bygge dynamiske nettsteder og webapplikasjoner som har følgende komponenter;
1) MongoDB - Standard NoSQL-database
2) Express.js - Standard rammeverk for webapplikasjoner
3) Angular.js - JavaScript MVC-rammeverket som brukes til webapplikasjoner
4) Node.js - Framework brukt for skalerbare applikasjoner på serversiden og nettverk.
Express.js-rammeverket gjør det veldig enkelt å utvikle et program som kan brukes til å håndtere flere typer forespørsler som GET, PUT og POST og DELETE-forespørsler.
Installere og bruke Express
Express installeres via Node Package Manager. Dette kan gjøres ved å utføre følgende linje i kommandolinjen
npm installer express
Ovennevnte kommando ber Node-pakkebehandling om å laste ned de nødvendige ekspressmodulene og installere dem deretter.
La oss bruke vårt nylig installerte Express-rammeverk og lage et enkelt "Hello World" -program.
Vår applikasjon kommer til å lage en enkel servermodul som vil lytte på port nummer 3000. I vårt eksempel, hvis det blir gjort en forespørsel gjennom nettleseren om dette portnummeret, vil serverapplikasjonen sende et 'Hello' World 'svar til klienten .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Kode Forklaring:
- I vår første linje med kode bruker vi funksjonen krever for å inkludere "ekspressmodulen."
- Før vi kan begynne å bruke ekspressmodulen, må vi lage et objekt av den.
- Her lager vi en tilbakeringingsfunksjon. Denne funksjonen vil bli kalt når noen blar til roten til webapplikasjonen vår som er http: // localhost: 3000 . Tilbakeringingsfunksjonen vil bli brukt til å sende strengen 'Hello World' til websiden.
- I tilbakeringingsfunksjonen sender vi strengen "Hello World" tilbake til klienten. Parameteren 'res' brukes til å sende innhold tilbake til websiden. Denne "res" -parameteren er noe som tilbys av "request" -modulen for å gjøre det mulig for en å sende innhold tilbake til websiden.
- Vi bruker deretter listen to-funksjonen for å få serverapplikasjonen til å lytte til klientforespørsler på port nr. 3000. Du kan spesifisere en hvilken som helst tilgjengelig port her.
Hvis kommandoen er utført vellykket, vil følgende utdata vises når du kjører koden din i nettleseren.
Produksjon:
Fra utgangen,
- Du kan tydelig se at hvis vi blar til URL-adressen til localhost på port 3000, vil du se strengen 'Hello World' vist på siden.
- Fordi vi i koden vår har nevnt spesielt at serveren skal lytte på port nr. 3000, kan vi se utdataene når vi surfer til denne URL-en.
Hva er ruter?
Ruting bestemmer måten et program svarer på en klientforespørsel til et bestemt sluttpunkt.
For eksempel kan en klient gjøre en GET-, POST-, PUT- eller SLETTE http-forespørsel om forskjellige URL-er, slik som de som er vist nedenfor;
http://localhost:3000/Bookshttp://localhost:3000/Students
I eksemplet ovenfor,
- Hvis det blir gjort en GET-forespørsel om den første URL-en, bør svaret ideelt sett være en liste over bøker.
- Hvis GET-forespørselen er laget for den andre URL-en, bør svaret ideelt sett være en liste over studenter.
- Så basert på URL-en som er tilgjengelig, vil en annen funksjonalitet på webserveren bli påkalt, og følgelig vil svaret bli sendt til klienten. Dette er begrepet ruting.
Hver rute kan ha en eller flere behandlerfunksjoner, som utføres når ruten matches.
Den generelle syntaksen for en rute er vist nedenfor
app.METHOD(PATH, HANDLER)
Der,
1) app er en forekomst av ekspressmodulen
2) METODE er en HTTP-forespørselsmetode (GET, POST, PUT eller DELETE)
3) PATH er en bane på serveren.
4) HANDLER er funksjonen som utføres når ruten matches.
La oss se på et eksempel på hvordan vi kan implementere ruter i ekspressen. Eksemplet vårt vil opprette 3 ruter som
- A / Node-rute som viser strengen "Tutorial on Node" hvis denne ruten er tilgjengelig
- A / Angular route som vil vise strengen "Tutorial on Angular" hvis denne ruten er tilgjengelig
- En standardrute / som viser strengen "Velkommen til Guru99-opplæringsprogrammer."
Vår grunnleggende kode forblir den samme som tidligere eksempler. Utdraget nedenfor er et tillegg for å vise hvordan ruting implementeres.
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');}));
Kode Forklaring:
- Her definerer vi en rute hvis URL http: // localhost: 3000 / Node er valgt i nettleseren. Til ruten legger vi til en tilbakeringingsfunksjon som blir ringt når vi blar til Node URL.
Funksjonen har to parametere.
- Hovedparameteren vi skal bruke er 'res' -parameteren, som kan brukes til å sende informasjon tilbake til klienten.
- Parameteren 'req' inneholder informasjon om forespørselen. Noen ganger kan flere parametere sendes som en del av forespørselen som blir gjort, og dermed kan parameteren 'req' brukes til å finne tilleggsparametrene som sendes.
- Vi bruker sendefunksjonen til å sende strengen "Tutorial on Node" tilbake til klienten hvis Node-ruten er valgt.
- Her definerer vi en rute hvis URL http: // localhost: 3000 / Angular er valgt i nettleseren. Til ruten legger vi til en tilbakeringingsfunksjon som blir ringt når vi blar til Angular URL.
- Vi bruker send-funksjonen til å sende strengen "Tutorial on Angular" tilbake til klienten hvis Angular-ruten er valgt.
- Dette er standardruten som velges når man blar til ruten til applikasjonen - http: // localhost: 3000 . Når standardruten er valgt, vil meldingen "Welcome to Guru99 Tutorials" bli sendt til klienten.
Hvis kommandoen er utført vellykket, vil følgende utdata vises når du kjører koden din i nettleseren.
Produksjon:
Fra utgangen,
- Du kan tydelig se at hvis vi blar til URLen til localhost på port 3000, vil du se strengen 'Welcome to Guru99 Tutorials' vist på siden.
- Fordi i koden vår, har vi nevnt at vår standard URL vil vise denne meldingen.
Fra utgangen,
- Du kan se at hvis URL-en er endret til / Node, vil den respektive Node-ruten bli valgt og strengen "Tutorial On Node 'vises.
Fra utgangen,
- Du kan se at hvis URL-en er endret til / Angular, vil den respektive Node-ruten bli valgt og strengen "Tutorial on Angular" vises.
Eksempel på webserver ved hjelp av express.js
Fra eksempelet vårt ovenfor har vi sett hvordan vi kan bestemme hvilken produksjon vi skal vise basert på ruting. Denne typen ruting er det som brukes i de fleste moderne webapplikasjoner. Den andre delen av en webserver handler om å bruke maler i Node js.
Når du oppretter raske on-the-fly Node-applikasjoner, er en enkel og rask måte å bruke maler for applikasjonen. Det er mange rammer tilgjengelig i markedet for å lage maler. I vårt tilfelle vil vi ta eksemplet med jade-rammeverket for mal.
Jade blir installert via Node Package manager. Dette kan gjøres ved å utføre følgende linje i kommandolinjen
npm installer jade
Ovennevnte kommando ber Node-pakkebehandling om å laste ned de nødvendige jademodulene og installere dem deretter.
MERK: I den siste versjonen av Node jade er utfaset. Bruk i stedet mops.
La oss bruke vårt nylig installerte jade-rammeverk og lage noen grunnleggende maler.
Trinn 1) Det første trinnet er å lage en jademal. Opprett en fil som heter index.jade og sett inn koden nedenfor. Sørg for å opprette filen i "visninger" -mappen
- Her spesifiserer vi at tittelen på siden vil bli endret til hvilken verdi som blir sendt når denne malen blir påkalt.
- Vi spesifiserer også at teksten i toppteksten blir erstattet til det som blir sendt i jademalen.
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() {});
Kode Forklaring:
- Den første tingen å spesifisere i applikasjonen er "view engine" som skal brukes til å gjengi malene. Siden vi skal bruke jade til å gjengi malene våre, spesifiserer vi dette deretter.
- Gjengivelsesfunksjonen brukes til å gjengi en webside. I vårt eksempel gjengir vi malen (index.jade) som ble opprettet tidligere.
- Vi overfører verdiene "Guru99" og "Welcome" til parameterne "title" og "message". Disse verdiene vil bli erstattet av parametrene 'title' og 'message' som er angitt i index.jade-malen.
Hvis kommandoen er utført vellykket, vil følgende utdata vises når du kjører koden din i nettleseren.
Produksjon:
Fra utgangen,
- Vi kan se at tittelen på siden blir satt til "Guru99" og overskriften på siden blir satt til "Velkommen."
- Dette er på grunn av jade-malen som blir påkalt i vår node js-applikasjon.
Sammendrag
- Express-rammeverket er det vanligste rammeverket som brukes til å utvikle Node js-applikasjoner. Express-rammeverket er bygget på toppen av node.js-rammeverket og hjelper i rask sporing av utvikling av serverbaserte applikasjoner.
- Ruter brukes til å avlede brukere til forskjellige deler av webapplikasjonene basert på forespørselen. Svaret for hver rute kan varieres avhengig av hva som må vises for brukeren.
- Maler kan brukes til å injisere innhold på en effektiv måte. Jade er en av de mest populære malmotorene som brukes i Node.js-applikasjoner.