U ovom uputstvu proučit ćemo Expressov okvir. Ovaj je okvir izgrađen na takav način da djeluje kao minimalni i fleksibilni okvir web aplikacija Node.js, pružajući robustan skup značajki za izgradnju jedne i više stranica te hibridne web aplikacije.
U ovom vodiču naučit ćete-
- Što je Express.js?
- Instaliranje i korištenje Expressa
- Što su rute?
- Uzorak web poslužitelja pomoću express.js
Što je Express.js?
Express.js je okvir poslužitelja web aplikacija Node js, koji je posebno dizajniran za izradu jednostrane stranice, više stranica i hibridnih web aplikacija.
Postao je standardni poslužiteljski okvir za node.js. Express je pozadinski dio nečega što je poznato kao MEAN stog.
MEAN je besplatni JavaScript softver otvorenog koda za izradu dinamičnih web stranica i web aplikacija koji sadrži sljedeće komponente;
1) MongoDB - standardna baza podataka NoSQL
2) Express.js - zadani okvir web aplikacija
3) Angular.js - JavaScript MVC okvir koji se koristi za web aplikacije
4) Node.js - okvir koji se koristi za skalabilne aplikacije na strani poslužitelja i mreže.
Okvir Express.js olakšava razvoj aplikacije koja se može koristiti za obradu više vrsta zahtjeva poput zahtjeva GET, PUT i POST i DELETE.
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 instaliraj ekspresno
Gornja naredba traži od upravitelja paketa Node da preuzme potrebne brze module i instalira ih u skladu s tim.
Upotrijebimo naš novoinstalirani Express okvir i stvorimo jednostavnu aplikaciju "Hello World".
Naša će aplikacija stvoriti jednostavan modul poslužitelja koji će slušati na portu broja 3000. U našem primjeru, ako se putem preglednika pošalje zahtjev na ovom broju porta, tada će aplikacija poslužitelja klijentu poslati odgovor 'Hello' World ' .
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 da bismo uključili "express module".
- Prije nego što počnemo koristiti ekspresni modul, moramo od njega napraviti objekt.
- Ovdje stvaramo funkciju povratnog poziva. Ova će se funkcija pozvati kad god netko pregleda 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' pruža nešto što modul 'request' omogućuje da se sadržaj pošalje natrag na web stranicu.
- Tada koristimo funkciju preslušavanja kako bismo našu poslužiteljsku aplikaciju prisluškivali zahtjeve klijenta na portu br. 3000. Ovdje možete odrediti bilo koji dostupan port.
Ako se naredba uspješno izvrši, sljedeći će se izlaz prikazati kada pokrenete svoj kôd u pregledniku.
Izlaz:
Iz rezultata,
- Jasno možete vidjeti da ćemo, ako pretražimo URL lokalnog hosta na portu 3000, na stranici vidjeti niz 'Hello World'.
- Budući da smo u našem kodu posebno spomenuli da poslužitelj sluša na priključku br. 3000, izlaz možemo pregledavati prilikom pregledavanja ovog URL-a.
Što su rute?
Usmjeravanje određuje način na koji aplikacija odgovara na zahtjev klijenta do određene krajnje točke.
Na primjer, klijent može poslati GET, POST, PUT ili DELETE http zahtjev za različite URL-ove poput onih prikazanih u nastavku;
http://localhost:3000/Bookshttp://localhost:3000/Students
U gornjem primjeru,
- Ako se za prvi URL podnese GET zahtjev, tada bi idealno trebao biti popis knjiga.
- Ako je GET zahtjev upućen za drugi URL, tada bi idealno trebao biti popis učenika.
- Dakle, na temelju URL-a kojem se pristupa, pozvat će se drugačija funkcionalnost na web poslužitelju, a sukladno tome, odgovor će se poslati 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ćenita sintaksa rute prikazana je u nastavku
app.METHOD(PATH, HANDLER)
Pri čemu,
1) app je instanca express modula
2) METHOD je metoda HTTP zahtjeva (GET, POST, PUT ili DELETE)
3) PUT je put 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š primjer će stvoriti 3 rute kao
- Ruta A / čvora koja će prikazati niz "Vodič za čvor" ako se pristupi ovoj ruti
- A / Kutna ruta koja će prikazati niz "Tutorial on Angular" ako se pristupi ovoj ruti
- Zadana ruta / koja će prikazati niz "Dobrodošli u vodiče za Guru99."
Naš osnovni kod ostat će isti kao i prethodni primjeri. Isječak u nastavku dodatak je koji pokazuje kako je usmjeravanje implementirano.
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 je u pregledniku odabran URL http: // localhost: 3000 / Node . Ruti dodajemo funkciju povratnog poziva koja će se pozvati kada pregledamo URL čvora.
Funkcija ima 2 parametra.
- Glavni parametar koji ćemo koristiti je parametar 'res', koji se može koristiti za slanje podataka natrag klijentu.
- Parametar 'req' sadrži informacije o podnesenom zahtjevu. Ponekad bi se dodatni parametri mogli poslati kao dio podnesenog zahtjeva, pa se parametar 'req' može koristiti za pronalaženje dodatnih parametara koji se šalju.
- Koristimo funkciju slanja da bismo klijentu poslali niz "Vodič za čvor" ako je odabrana ruta čvora.
- Ovdje definiramo rutu ako je u pregledniku odabran URL http: // localhost: 3000 / Angular . Ruti dodajemo funkciju povratnog poziva koja će se pozvati kada pretražujemo kutni URL.
- Koristimo funkciju slanja za slanje niza "Tutorial on Angular" klijentu ako je odabrana Angularna ruta.
- Ovo je zadana ruta koja se odabire kad se pregleda ruta aplikacije - http: // localhost: 3000 . Kada se odabere zadana ruta, klijentu će se poslati poruka "Dobrodošli u vodiče za Guru99".
Ako se naredba uspješno izvrši, sljedeći će se izlaz prikazati kada pokrenete svoj kôd u pregledniku.
Izlaz:
Iz rezultata,
- Jasno možete vidjeti da ćemo, ako pretražimo URL lokalnog hosta na portu 3000, na stranici vidjeti prikaz "Dobrodošli u vodiče za Guru99".
- Budući da smo u našem kodu spomenuli da bi naš zadani URL prikazivao ovu poruku.
Iz rezultata,
- Možete vidjeti da bi se, ako je URL promijenjen u / Node, odabrala odgovarajuća ruta čvora i prikazao se niz "Tutorial On Node".
Iz rezultata,
- Možete vidjeti da ako je URL promijenjen u / Angular, odabrala bi se odgovarajuća ruta čvora i prikazao bi se niz "Tutorial On Angular".
Uzorak web poslužitelja pomoću express.js
Iz našeg gornjeg primjera vidjeli smo kako možemo odlučiti koji ćemo izlaz prikazati na temelju usmjeravanja. Ovakva vrsta usmjeravanja koristi se u većini modernih web aplikacija. Drugi dio web poslužitelja odnosi se na upotrebu predložaka u Node js.
Prilikom stvaranja brzih Node aplikacija, jednostavan i brz način je korištenje predložaka za aplikaciju. Na tržištu je dostupno mnogo okvira za izradu predložaka. U našem ćemo slučaju uzeti primjer okvira od žada za predloške.
Jade se instalira putem upravitelja Node Package. To se može učiniti izvršavanjem sljedećeg retka u naredbenom retku
npm instalirati žad
Gornja naredba traži od upravitelja paketa Node da preuzme potrebne module žada i instalira ih u skladu s tim.
NAPOMENA: U najnovijoj verziji Node žada je zastarjelo. Umjesto toga, upotrijebite mopsa.
Upotrijebimo naš novoinstalirani okvir žada i stvorimo neke osnovne predloške.
Korak 1) Prvi korak je stvaranje predloga od žada. Stvorite datoteku pod nazivom index.jade i umetnite donji kod. Osigurajte stvaranje datoteke u mapi "views"
- Ovdje preciziramo da će se naslov stranice promijeniti u bilo koju vrijednost koja se proslijedi kada se ovaj predložak pozove.
- Također preciziramo da će se tekst u zaglavlju oznake zamijeniti onim što se proslijedi u predlošku žada.
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:
- Prvo što treba navesti u aplikaciji je "view engine" koji će se koristiti za generiranje predložaka. Budući da ćemo koristiti žad za generiranje naših predložaka, to odredujemo u skladu s tim.
- Funkcija prikazivanja koristi se za generiranje web stranice. U našem primjeru prikazujemo predložak (index.jade) koji je stvoren ranije.
- Vrijednosti "Guru99" i "Dobrodošli" prosljeđujemo parametrima "naslov" i "poruka". Te će vrijednosti biti zamijenjene parametrima 'title' i 'message' deklariranim u predlošku index.jade.
Ako se naredba uspješno izvrši, sljedeći će se izlaz prikazati kada pokrenete svoj kôd u pregledniku.
Izlaz:
Iz rezultata,
- Vidimo da se naslov stranice postavlja na "Guru99", a zaglavlje stranice postavlja na "Dobrodošli".
- To je zbog predloška žada koji se poziva u našoj aplikaciji node js.
Sažetak
- Izrični okvir je najčešći okvir koji se koristi za razvoj Node js aplikacija. Express okvir izgrađen je na vrhu okvira node.js i pomaže u brzom praćenju razvoja poslužiteljskih aplikacija.
- Rute se koriste za preusmjeravanje korisnika na različite dijelove web aplikacija na temelju podnesenog zahtjeva. Odgovor za svaku rutu može se mijenjati ovisno o tome što treba pokazati korisniku.
- Predlošci se mogu koristiti za učinkovito ubrizgavanje sadržaja. Jade je jedan od najpopularnijih predložaka koji se koristi u aplikacijama Node.js.