Vodič za Node.js Express.js FrameWork
⚡ Pametni sažetak
Express.js je minimalni Node.js web-aplikacijski okvir koji dodaje usmjeravanje, middleware i renderiranje predložaka osnovnom HTTP modulu, tako da jednostranične, višestranične i hibridne aplikacije dođu do radnog poslužitelja u vrlo malo redaka.

U ovom tutorialu proučit ćemo Express framework. Ovaj framework je izgrađen na način da djeluje kao minimalan i fleksibilan Node.js framework web aplikacije, pružajući robustan skup značajki za izgradnju jednostraničnih, višestraničnih i hibridnih web aplikacija.
Što je Express.js?
Express.js je Node.js okvir za web aplikacijski poslužitelj, posebno dizajniran za izradu jednostraničnih, višestraničnih i hibridnih web aplikacija.
Postao je standardni poslužiteljski okvir za Node.js. Express je backend dio nečega poznatog kao MEAN stog.
Ekspresno usmjeravanje slojeva i middleware preko jezgre Node.js HTTP-a, potoci i API-je za događaje.
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 web aplikacija
3) AngularJS - JavaSkripta MVC okvir koji se koristi za web aplikacije
4) Node.js — Okvir koji se koristi za skalabilne serverske 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 Node Package Managera da preuzme potreban express moduli i instalirajte ih u skladu s tim.
Napomena o verziji: npm sada instalira Express 5.2; mnogi projekti još uvijek koriste Express 4. Oba pokreću primjere u nastavku na podržano izdanje Node.js-a.
Upotrijebimo naš novoinstalirani Express framework i stvorimo jednostavnu aplikaciju “Hello World”.
Naša aplikacija će kreirati jednostavan poslužiteljski modul koji će osluškivati port broj 3000. U našem primjeru, ako se zahtjev uputi putem preglednika na ovom portu, poslužiteljska aplikacija će klijentu poslati odgovor 'Pozdrav svijete'.
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Code Objašnjenje:
- 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 će se funkcija pozivati svaki put kada netko pregleda korijen naše web aplikacije, a to 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 listen kako bismo natjerali našu poslužiteljsku aplikaciju da sluša zahtjeve klijenata na portu broj 3000. Ovdje možete navesti bilo koji dostupan port.
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz:
Iz izlaza,
- To možete jasno vidjeti ako pregledate URL localhosta na portu 3000, na stranici ćete vidjeti niz znakova 'Hello World'.
- Budući da smo u našem kodu posebno spomenuli da poslužitelj osluškuje port broj 3000, možemo vidjeti izlaz prilikom pregledavanja ovog URL.
Što su rute?
Ruta s jednim korijenom je samo početna točka.
Usmjeravanje određuje način na koji aplikacija odgovara na zahtjev klijenta određenoj krajnjoj točki.
Na primjer, klijent može napraviti GET, POST, PUT ili DELETE http zahtjev za različite URL kao što su oni prikazani dolje;
http://localhost:3000/Books http://localhost:3000/Students
U gornjem primjeru,
- Ako se GET zahtjev uputi za prvi URL, onda bi idealno bilo da odgovor bude popis knjiga.
- Ako se GET zahtjev podnosi za drugi URL, tada bi idealno odgovor trebao biti popis učenika.
- Dakle, na temelju URL kojem se pristupa, pozvat će se druga funkcionalnost na web poslužitelju i sukladno tome će se odgovor poslati klijentu. To 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.
| poziv | Zatražite | Svrha |
|---|---|---|
| aplikacija.dobi(PUT, RUKOVATELJ) | GET | Čitaj |
| app.post(PUT, RUKOVATELJ) | POST | stvoriti |
| app.put(PUT, RUKOVATELJ) | PUT | zamijeniti |
| aplikacija.brisanje(PUT, RUKOVATELJ) | DELETE | ukloniti |
| aplikacija.ruta(PUT) | okovan | Rukovatelji grupama |
| app.use(RUKOVODILAC) | bilo koji | Montiranje middlewarea |
⚠️ Express 5 note: Ovi potpisi su nepromijenjeni, ali app.del() je postao app.delete(), res.sendfile() je postao res.sendFile(), a zamjenski znakovi sada trebaju imena poput /*splat.
Pogledajmo primjer kako možemo implementirati rute u Expressu. Naš primjer će 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 tutorijala.
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'); });
Code Objašnjenje:
- Ovdje definiramo rutu ako je URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLFunkcija 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 je URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the 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 korijen aplikacije — http://localhost:3000. Kada se odabere zadana ruta, prikazuje se poruka „Dobrodošli u GuruKlijentu će biti poslano "99 tutorijala".
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz:
Iz izlaza,
- To možete jasno vidjeti ako pregledate URL localhosta na portu 3000, vidjet ćete niz znakova 'Dobrodošli u GuruNa stranici je prikazano 99 tutorijala.
- Jer smo u našem kodu spomenuli da je naša zadana vrijednost URL bi prikazao ovu poruku.
Zatim idite na /Node.
Iz izlaza,
- Možete vidjeti da ako URL promijenjeno u /Čvor, odabrana bi bila odgovarajuća ruta čvora i prikazan je niz „Vodič na čvoru“.
Zatim idite na /Angular.
Iz izlaza,
- Možete vidjeti da ako URL promijenjeno u /Angular, odabrana bi bila odgovarajuća ruta čvora i prikazan bi se niz "Vodič o Angularu".
Primjer web poslužitelja koji koristi express.js
Iz našeg gornjeg primjera vidjeli smo kako možemo odlučiti koji će se izlaz prikazati na temelju usmjeravanja. Ova vrsta usmjeravanja koristi se u većini modernih web aplikacija. Drugi dio web poslužitelja odnosi se na korištenje predložaka u Node.js-u.
Prilikom brze izrade Node.js aplikacija u hodu, jednostavan i brz način je korištenje predložaka za aplikaciju. Na tržištu postoji mnogo okvira za izradu predložaka. U našem slučaju, uzet ćemo za primjer Jade okvir za izradu predložaka.
Jade se instalira putem Node Package Managera. To se može učiniti izvršavanjem sljedećeg retka u naredbenom retku
npm instalirajte jade
Gornja naredba zahtijeva od Node Package Managera da preuzme potrebne Jade module i instalira ih u skladu s tim.
NAPOMENA: U najnovijoj verziji Node jade je zastario. Umjesto toga, koristite mops.
⚠️ Moderni ekvivalent: instalirati kučence, preimenujte index.jade u index.pug i postavite app.set('view engine','pug'). Paket jade ne prima ažuriranja; koraci u nastavku i dalje se izvode.
Koristimo naš novoinstalirani Jade framework i stvorimo neke osnovne predloške.
Korak 1) Prvi korak je stvaranje Jade predloška. Stvorite datoteku pod nazivom index.jade i umetnite donji kod. Obavezno stvorite 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 navodimo da će se tekst u oznaci zaglavlja zamijeniti onim što se proslijedi u predlošku Jade.
Slijedi aplikacijski kod koji ga renderira.
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() {});
Code Objašnjenje:
- Prvo što treba navesti u aplikaciji je "view engine" koji će se koristiti za prikaz predložaka. Budući da ćemo koristiti Jade za prikaz naših predložaka, to određujemo 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 od "Guru99” i “Dobrodošli” parametrima “title” i “message”. Ove vrijednosti bit će zamijenjene parametrima 'title' i 'message' deklariranim 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,
- Možemo vidjeti da se naslov stranice postavlja na "Guru99” i zaglavlje stranice postavlja se na “Dobrodošli”.
- To je zbog Jade predloška koji se poziva u našoj Node.js aplikaciji.









