Node.js Express FrameWork Tutorial – Lær på 10 minutter

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 flerside- og hybrid webapplikasjon.

Hva er Express.js?

Express.js er et Node js-nettapplikasjonsserverrammeverk, som er spesielt utviklet for å bygge enkeltside-, flerside- og hybrid-webapplikasjoner.

Det har blitt standard serverrammeverk for node.js. Express er backend-delen av noe kjent som MEAN-stakken.

MEAN er en gratis og åpen kildekode JavaScript programvarestabel for å bygge dynamiske nettsider og nettapplikasjoner som har følgende komponenter;

1) MongoDB – Standard NoSQL-databasen

2) Express.js – Standard rammeverk for nettapplikasjoner

3) Angular.js - Det JavaSkript MVC-rammeverk brukt for webapplikasjoner

4) node.js – Rammeverk brukt for skalerbare server-side- og nettverksapplikasjoner.

Express.js-rammeverket gjør det veldig enkelt å utvikle en applikasjon som kan brukes til å håndtere flere typer forespørsler som GET, PUT og POST og DELETE-forespørsler.

Installere og bruke Express

Express blir installert via Node Package Manager. Dette kan gjøres ved å utføre følgende linje på kommandolinjen

npm install express

Kommandoen ovenfor ber Node-pakkebehandleren om å laste ned de nødvendige ekspressmodulene og installere dem deretter.

La oss bruke vårt nylig installerte Express-rammeverk og lage en enkel "Hello World"-applikasjon.

Vår applikasjon kommer til å lage en enkel servermodul som vil lytte på portnummer 3000. I vårt eksempel, hvis en forespørsel gjøres gjennom nettleseren på dette portnummeret, vil serverapplikasjonen sende et 'Hello' World'-svar til klienten .

Installere og bruke Express

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Kodeforklaring:

  1. I vår første kodelinje bruker vi forespørselsfunksjonen for å inkludere "ekspressmodulen."
  2. Før vi kan begynne å bruke ekspressmodulen, må vi lage et objekt av den.
  3. Her lager vi en tilbakeringingsfunksjon. Denne funksjonen vil bli kalt når noen surfer til roten av nettapplikasjonen vår, som er http://localhost:3000 . Tilbakeringingsfunksjonen vil bli brukt til å sende strengen 'Hello World' til nettsiden.
  4. I tilbakeringingsfunksjonen sender vi strengen "Hello World" tilbake til klienten. 'res'-parameteren brukes til å sende innhold tilbake til nettsiden. Denne 'res'-parameteren er noe som leveres av 'request'-modulen for å gjøre det mulig for en å sende innhold tilbake til nettsiden.
  5. Vi bruker da lytt til-funksjonen for å få serverapplikasjonen vår til å lytte til klientforespørsler på port nr. 3000. Du kan spesifisere hvilken som helst tilgjengelig port her.

Hvis kommandoen utføres vellykket, vil følgende utdata vises når du kjører koden i nettleseren.

Utgang:

Express.js

Fra utgangen,

  • Du kan tydelig se at hvis du blar til URL-en til localhost på port 3000, vil du se strengen 'Hello World' vist på siden.
  • Fordi vi i koden vår har nevnt spesifikt at serveren skal lytte på port nr. 3000, kan vi se utdataene når vi blar til denne URLen.

Hva er ruter?

Ruting bestemmer måten en applikasjon svarer på en klientforespørsel til et bestemt endepunkt.

For eksempel kan en klient lage en GET, POST, PUT eller DELETE http-forespørsel for forskjellige URL-er som de som er vist nedenfor;

http://localhost:3000/Books
http://localhost:3000/Students

I eksemplet ovenfor,

  • Hvis det sendes en GET-forespørsel for den første URL-adressen, bør svaret ideelt sett være en liste over bøker.
  • Hvis GET-forespørselen gjøres for den andre URL-adressen, bør svaret ideelt sett være en liste over studenter.
  • Så basert på URL-en du får tilgang til, vil en annen funksjonalitet på webserveren bli påberopt, og følgelig vil svaret bli sendt til klienten. Dette er konseptet med 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)

hvori,

1) appen 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. Vårt eksempel vil lage 3 ruter som

  1. En /Node-rute som viser strengen "Tutorial on Node" hvis denne ruten er tilgjengelig
  2. En /Angular rute som vil vise strengen "Tutorial on Angular" hvis denne ruten er tilgjengelig
  3. En standardrute / som vil vise strengen "Velkommen til Guru99 Tutorials."

Vår grunnleggende kode vil forbli den samme som tidligere eksempler. Utdraget nedenfor er et tillegg for å vise hvordan ruting implementeres.

Ruter i Node.js

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');
}));

Kodeforklaring:

  1. Her definerer vi en rute hvis URL http://localhost:3000/Node er valgt i nettleseren. Til ruten legger vi ved en tilbakeringingsfunksjon som vil bli kalt når vi blar til noden URL. Funksjonen har 2 parametere.
  • Hovedparameteren vi skal bruke er 'res'-parameteren, som kan brukes til å sende informasjon tilbake til klienten.
  • 'req'-parameteren har informasjon om forespørselen som gjøres. Noen ganger kan tilleggsparametere sendes som en del av forespørselen som gjøres, og derfor kan 'req'-parameteren brukes til å finne tilleggsparametrene som sendes.
  1. Vi bruker sendefunksjonen for å sende strengen "Tutorial on Node" tilbake til klienten hvis noderuten er valgt.
  2. Her definerer vi en rute hvis URL http://localhost:3000/Angular er valgt i nettleseren. Til ruten legger vi ved en tilbakeringingsfunksjon som vil bli kalt når vi blar til Angular URL.
  3. Vi bruker sendefunksjonen for å sende strengen "Tutorial on Angular" tilbake til klienten hvis Angular-ruten er valgt.
  4. Dette er standardruten som velges når man blar til ruten til applikasjonen – http://localhost:3000. Når standardruten er valgt, vil meldingen "Velkommen til Guru99 Tutorials" bli sendt til klienten.

Hvis kommandoen utføres vellykket, vil følgende utdata vises når du kjører koden i nettleseren.

Utgang:

Ruter i Node.js

Fra utgangen,

  • Du kan tydelig se at hvis du blar til URL-en 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 standard-URLen vår vil vise denne meldingen.

Ruter i Node.js

Fra utgangen,

  • Du kan se at hvis URL-en er endret til /Node, vil den respektive noderuten bli valgt og strengen "Tutorial On Node" vises.

Ruter i Node.js

Fra utgangen,

  • Du kan se at hvis URL-en er endret til /Angular, vil den respektive noderuten bli valgt og strengen "Tutorial On Angular" vises.

Eksempel på webserver som bruker express.js

Fra eksemplet ovenfor har vi sett hvordan vi kan bestemme hvilken utgang som skal vises basert på ruting. Denne typen ruting er det som brukes i de fleste moderne nettapplikasjoner. Den andre delen av en webserver handler om å bruke maler i Node js.

Når du oppretter raske Node-applikasjoner, er en enkel og rask måte å bruke maler for applikasjonen. Det er mange rammer tilgjengelig på markedet for å lage maler. I vårt tilfelle vil vi ta eksemplet med jade-rammeverket for maling.

Jade blir installert via Node Package manager. Dette kan gjøres ved å utføre følgende linje på kommandolinjen

npm installer jade

Kommandoen ovenfor ber Node-pakkebehandleren om å laste ned de nødvendige jade-modulene og installere dem deretter.

NOTAT: I den nyeste versjonen av Node har jade blitt utdatert. Bruk heller mops.

La oss bruke vårt nyinstallerte jade-rammeverk og lage noen grunnleggende maler.

Trinn 1) Det første trinnet er å lage en jademal. Lag en fil kalt index.jade og sett inn koden nedenfor. Sørg for å opprette filen i "views"-mappen

Eksempel på webserver som bruker Express.js

  1. Her spesifiserer vi at tittelen på siden vil bli endret til den verdien som sendes når denne malen blir påberopt.
  2. Vi spesifiserer også at teksten i header-taggen vil bli erstattet med det som sendes i jade-malen.

Eksempel på webserver som bruker Express.js

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() {});

Kodeforklaring:

  1. Det første du må spesifisere i applikasjonen er "visningsmotor" som vil bli brukt til å gjengi malene. Siden vi skal bruke jade til å gjengi malene våre, spesifiserer vi dette deretter.
  2. Gjengivelsesfunksjonen brukes til å gjengi en nettside. I vårt eksempel gjengir vi malen (index.jade) som ble opprettet tidligere.
  3. Vi sender verdiene til "Guru99" og "Velkommen" til parametrene "tittel" og "melding". Disse verdiene vil bli erstattet av 'tittel' og 'melding'-parametere som er deklarert i index.jade-malen.

Hvis kommandoen utføres vellykket, vil følgende utdata vises når du kjører koden i nettleseren.

Utgang:

Eksempel på webserver som bruker Express.js

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.

Oppsummering

  • Express-rammeverket er det vanligste rammeverket som brukes for å utvikle Node js-applikasjoner. Express-rammeverket er bygget på toppen av node.js-rammeverket og hjelper til med å raskt spore utviklingen av serverbaserte applikasjoner.
  • Ruter brukes til å omdirigere brukere til ulike deler av nettapplikasjonene basert på forespørselen som er gjort. Responsen for hver rute kan varieres avhengig av hva som skal vises til 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.