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.

  • 🔘 Uloga MEAN stoga: Express.js pruža backend sloj pored MongoDB, AngularJS i Node.js.
  • ☑️ Instalacija: npm install express povlači framework iz Node Package Managera.
  • ✅ usmjeravanje: app.METHOD(PATH, HANDLER) mapira svaki URL i HTTP glagol jednom rukovatelju.
  • 🧪 Predlošci: app.set('view engine') plus res.render unosi podatke u datoteku prikaza.
  • 🛠️ Moderni oblik: Express 5 prihvaća rukovatelje koji vraćaju obećanja i objedinjuje express.json().
  • 📊 Napomena o verziji: Jade je preimenovan u Pug, a Node.js 24 je Active LTS linija.

Vodič za Node.js Express.js framework

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'.

Anotirani Express Hello World serverski kod osluškuje port 3000

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:

  1. U našem prvom retku koda koristimo funkciju require za uključivanje "express modula".
  2. Prije nego što počnemo koristiti express modul, moramo od njega napraviti objekt.
  3. 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.
  4. 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.
  5. 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:

Preglednik koji prikazuje Hello World koji je vratio Express poslužitelj na portu 3000

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

  1. Ruta /Node koja će prikazati niz "Tutorial on Node" ako se pristupi ovoj ruti
  2. Ruta /Angular koja će prikazati niz "Tutorial on Angular" ako se pristupi ovoj ruti
  3. 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.

Anotirani Express kod usmjeravanja koji definira Node, Angular i zadane rute

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:

  1. 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.
  2. Koristimo funkciju slanja za slanje niza "Tutorial on Node" natrag klijentu ako je odabrana ruta čvora.
  3. 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.
  4. Koristimo funkciju slanja za slanje niza "Tutorial on Angular" natrag klijentu ako je odabrana Angular ruta.
  5. 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:

Preglednik koji prikazuje Dobrodošli u Guru99 tutorijala na zadanoj ekspresnoj ruti

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.

Preglednik koji prikazuje vodič o čvoru vraćenom rutom čvora

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.

Preglednik koji prikazuje vodič o Angularu vraćen Angular rutom

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".

Predložak označavanja index.jade s rezerviranim mjestima za naslov i zaglavlje

  1. Ovdje specificiramo da će se naslov stranice promijeniti u bilo koju vrijednost koja je proslijeđena kada se ovaj predložak pozove.
  2. 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.

Anotirani Express kod koji postavlja Jade view engine i indeks renderiranja

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:

  1. 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.
  2. Funkcija renderiranja koristi se za renderiranje web stranice. U našem primjeru renderiramo predložak (index.jade) koji je ranije stvoren.
  3. 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:

Preglednik prikazuje Jade predložak s naslovom Guru99 i zaglavlje Dobrodošli

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.

Pitanja i odgovori

middleware Funkcije primaju req, res i next, a zatim se izvršavaju redoslijedom registracije. One obrađuju zapisivanje, parsiranje tijela, autentifikaciju i pogreške, a svaka mora završiti odgovor ili pozvati next().

Ne. Express objedinjuje parsere, pa express.json() i express.urlencoded() zamjenjuju odvojene analizator tijela ovisnost. Kombinirani pomoćnik bodyParser() je uklonjen, a req.body ostaje nedefiniran dok se ne pokrene parser.

Express 5 rukovatelji su postali svjesni obećanja, uklonjene su funkcije app.del() i res.sendfile(), nadograđeno je usklađivanje putanja tako da zamjenski znakovi trebaju imena poput /*splat i postavljeno je urlencoded extended na false prema zadanim postavkama.

Na Expressu 5 odbijeno obećanje automatski prelazi na middleware za rukovanje greškama, tako da ručni pozivi next(err) nestaju. Express 4 treba eksplicitni try/catch unutar svake asinkrone funkcije. uzvratiti poziv.

kučence. Jade je preimenovan iz razloga zaštitnog znaka, a paket jade je zastario. Postojeći predlošci nastavljaju raditi nakon preimenovanja u .pug i promjene mehanizma za prikaz.

Node.js 24 je Active LTS linija tijekom 2026. dok je Node.js 22 još uvijek u održavanju, dakle instalirati jedan od njih. Express 5 zahtijeva Node.js 18 ili noviji.

Skeneri strojnog učenja čitaju definicije ruta i redoslijed middlewarea, a zatim označavaju nedostajuću autentifikaciju, neprovjereno JavaScript unos i permisivna CORS pravila. Ljudski pregledatelj i dalje potvrđuje svaki nalaz.

GitHub kopilot i slični agentski asistenti generiraju datoteke ruta, validacijski middleware i kontrolne stubove iz jednog kratkog upita. Svaka generirana ruta i dalje treba testiranje prije puštanja na slobodu.

Sažmite ovu objavu uz: