Vodič za Node.js Express FrameWork – naučite u 10 minuta
U ovom vodiču proučavat ćemo okvir Express. Ovaj okvir izgrađen je na takav način da djeluje kao minimalan i fleksibilan Node.js okvir web aplikacije, pružajući robustan skup značajki za izgradnju jedne i više stranica te hibridne web aplikacije.
Što je Express.js?
Express.js je okvir poslužitelja web aplikacija Node js koji je posebno dizajniran za izgradnju jednostraničkih, višestraničkih i hibridnih web aplikacija.
Postao je standardni poslužiteljski okvir za node.js. Express je pozadinski dio nečega poznatog kao MEAN stog.
MEAN je besplatan i otvorenog koda JavaScript softverski skup za izradu dinamičkih web stranica i web aplikacija koji ima sljedeće komponente;
1) MongoDB – Standardna NoSQL baza podataka
2) Express.js – Zadani okvir za web aplikacije
3) Angular.js - JavaSkripta MVC okvir koji se koristi za web aplikacije
4) Node.js – Okvir koji se koristi za skalabilne poslužiteljske i mrežne aplikacije.
Okvir Express.js vrlo olakšava razvoj aplikacije koja se može koristiti za rukovanje više vrsta zahtjeva kao što su GET, PUT i POST i DELETE zahtjevi.
Instaliranje i korištenje Expressa
Express se instalira putem Node Package Managera. To se može učiniti izvršavanjem sljedećeg retka u naredbenom retku
npm instalirajte ekspresno
Gornja naredba zahtijeva od upravitelja paketa Node da preuzme potrebne ekspresne module i instalira ih u skladu s tim.
Upotrijebimo naš novoinstalirani Express framework i stvorimo jednostavnu aplikaciju “Hello World”.
Naša će aplikacija izraditi jednostavan poslužiteljski modul koji će slušati na portu broj 3000. U našem primjeru, ako je zahtjev napravljen putem preglednika na ovom portu, aplikacija poslužitelja će poslati odgovor 'Hello' World' klijentu .
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Objašnjenje koda:
- U našem prvom retku koda koristimo funkciju require za uključivanje "express modula".
- Prije nego što počnemo koristiti express modul, moramo od njega napraviti objekt.
- Ovdje stvaramo funkciju povratnog poziva. Ova funkcija će biti pozvana kad god netko pregledava korijen naše web aplikacije koja je http://localhost:3000 . Funkcija povratnog poziva koristit će se za slanje niza 'Hello World' na web stranicu.
- U funkciji povratnog poziva, klijentu šaljemo niz "Hello World". Parametar 'res' koristi se za slanje sadržaja natrag na web stranicu. Ovaj parametar 'res' nešto je što daje modul 'request' kako bi se omogućilo slanje sadržaja natrag na web stranicu.
- Zatim koristimo funkciju slušanja kako bismo natjerali našu poslužiteljsku aplikaciju da sluša zahtjeve klijenta na portu br. 3000. Ovdje možete navesti bilo koji dostupni port.
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz:
Iz izlaza,
- Jasno možete vidjeti da ako pregledamo URL lokalnog hosta na portu 3000, vidjet ćete niz 'Hello World' prikazan na stranici.
- Budući da smo u našem kodu posebno spomenuli da poslužitelj sluša na portu br. 3000, možemo vidjeti izlaz kada pregledavamo ovaj URL.
Što su rute?
Usmjeravanje određuje način na koji aplikacija odgovara na zahtjev klijenta prema određenoj krajnjoj točki.
Na primjer, klijent može napraviti GET, POST, PUT ili DELETE http zahtjev za različite URL-ove poput onih prikazanih u nastavku;
http://localhost:3000/Books http://localhost:3000/Students
U gornjem primjeru,
- Ako se GET zahtjev postavi za prvi URL, odgovor bi idealno trebao biti popis knjiga.
- Ako je GET zahtjev napravljen za drugi URL, odgovor bi idealno trebao biti popis učenika.
- Dakle, na temelju URL-a kojem se pristupa, drugačija funkcionalnost na web-poslužitelju bit će pozvana i sukladno tome, odgovor će biti poslan klijentu. Ovo je koncept usmjeravanja.
Svaka ruta može imati jednu ili više funkcija rukovatelja, koje se izvršavaju kada se ruta podudara.
Opća sintaksa za rutu prikazana je u nastavku
app.METHOD(PATH, HANDLER)
pri čemu,
1) aplikacija je instanca ekspresnog modula
2) METHOD je metoda HTTP zahtjeva (GET, POST, PUT ili DELETE)
3) PATH je staza na poslužitelju.
4) HANDLER je funkcija koja se izvršava kada se ruta podudara.
Pogledajmo primjer kako možemo implementirati rute u expressu. Naš će primjer stvoriti 3 rute kao
- Ruta /Node koja će prikazati niz "Tutorial on Node" ako se pristupi ovoj ruti
- Ruta /Angular koja će prikazati niz "Tutorial on Angular" ako se pristupi ovoj ruti
- Zadana ruta / koja će prikazati niz "Dobrodošli u Guru99 Tutorials."
Naš osnovni kod ostat će isti kao i prethodni primjeri. Donji isječak je dodatak koji prikazuje kako se usmjeravanje implementira.
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'); }));
Objašnjenje koda:
- Ovdje definiramo rutu ako URL http://localhost:3000/Node je odabran u pregledniku. Ruti prilažemo funkciju povratnog poziva koja će biti pozvana kada pregledavamo URL čvora. Funkcija ima 2 parametra.
- Glavni parametar koji ćemo koristiti je 'res' parametar, koji se može koristiti za slanje informacija nazad klijentu.
- Parametar 'req' ima informacije o zahtjevu koji je napravljen. Ponekad se dodatni parametri mogu poslati kao dio zahtjeva, pa se stoga parametar 'req' može koristiti za pronalaženje dodatnih parametara koji se šalju.
- Koristimo funkciju slanja za slanje niza "Tutorial on Node" natrag klijentu ako je odabrana ruta čvora.
- Ovdje definiramo rutu ako URL http://localhost:3000/Angular je odabran u pregledniku. Ruti prilažemo funkciju povratnog poziva koja će biti pozvana kada pregledavamo Angular URL.
- Koristimo funkciju slanja za slanje niza "Tutorial on Angular" natrag klijentu ako je odabrana Angular ruta.
- Ovo je zadana ruta koja se odabire kada se pregledava ruta aplikacije – http://localhost:3000. Kada se odabere zadana ruta, klijentu će biti poslana poruka "Dobrodošli u Guru99 Tutorials".
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz:
Iz izlaza,
- Jasno možete vidjeti da ako pregledamo URL lokalnog hosta na portu 3000, vidjet ćete niz 'Dobrodošli u Guru99 Tutorials' prikazan na stranici.
- Zato što smo u našem kodu spomenuli da će naš zadani URL prikazati ovu poruku.
Iz izlaza,
- Možete vidjeti da bi, ako je URL promijenjen u /Node, odgovarajuća ruta čvora bila odabrana i prikazan niz "Tutorial On Node".
Iz izlaza,
- Možete vidjeti da bi, ako je URL promijenjen u /Angular, odabrana odgovarajuća ruta čvora i prikazan niz "Tutorial On Angular".
Primjer web poslužitelja koji koristi express.js
Iz našeg gornjeg primjera, vidjeli smo kako možemo odlučiti koji izlaz prikazati na temelju usmjeravanja. Ova vrsta usmjeravanja je ono što se koristi u većini modernih web aplikacija. Drugi dio web poslužitelja odnosi se na korištenje predložaka u Node js.
Prilikom izrade brzih on-the-fly Node aplikacija, jednostavan i brz način je korištenje predložaka za aplikaciju. Na tržištu su dostupni mnogi okviri za izradu predložaka. U našem slučaju, uzet ćemo primjer okvira od žada za šablone.
Jade se instalira preko Node Package managera. To se može učiniti izvršavanjem sljedećeg retka u naredbenom retku
npm instalirajte jade
Gornja naredba zahtijeva od upravitelja paketa Node da preuzme potrebne jade module i instalira ih u skladu s tim.
NAPOMENA: U najnovijoj verziji Node jade je zastario. Umjesto toga, koristite mops.
Upotrijebimo naš novoinstalirani jade okvir i stvorimo neke osnovne predloške.
Korak 1) Prvi korak je izrada predloška od žada. Napravite datoteku pod nazivom index.jade i umetnite donji kod. Provjerite jeste li stvorili datoteku u mapi "views".
- Ovdje specificiramo da će se naslov stranice promijeniti u bilo koju vrijednost koja je proslijeđena kada se ovaj predložak pozove.
- Također specificiramo da će se tekst u oznaci zaglavlja zamijeniti onim što se proslijedi u jade predlošku.
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() {});
Objašnjenje koda:
- Prva stvar koju treba odrediti u aplikaciji je "motor za prikaz" koji će se koristiti za renderiranje predložaka. Budući da ćemo koristiti žad za iscrtavanje naših predložaka, specificiramo to u skladu s tim.
- Funkcija renderiranja koristi se za renderiranje web stranice. U našem primjeru renderiramo predložak (index.jade) koji je ranije stvoren.
- Prosljeđujemo vrijednosti "Guru99" i "Dobrodošli" parametrima "title" i "message". Ove vrijednosti bit će zamijenjene parametrima 'title' i 'message' navedenima u predlošku index.jade.
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz:
Iz izlaza,
- Vidimo da je naslov stranice postavljen na "Guru99", a zaglavlje stranice na "Dobrodošli".
- To je zbog predloška jade koji se poziva u našoj node js aplikaciji.
rezime
- Ekspresni okvir je najčešći okvir koji se koristi za razvoj Node js aplikacija. Ekspresni okvir izgrađen je na temelju okvira node.js i pomaže u brzom razvoju aplikacija temeljenih na poslužitelju.
- Rute se koriste za preusmjeravanje korisnika na različite dijelove web aplikacija na temelju postavljenog zahtjeva. Odgovor za svaku rutu može varirati ovisno o tome što treba pokazati korisniku.
- Predlošci se mogu koristiti za ubacivanje sadržaja na učinkovit način. Jade je jedan od najpopularnijih mehanizama za izradu predložaka koji se koriste u Node.js aplikacijama.