Výukový program pro Node.js Express.js FrameWork

⚡ Chytré shrnutí

Express.js je minimalistický webový aplikační framework Node.js, který do základního HTTP modulu přidává směrování, middleware a vykreslování šablon, takže jednostránkové, vícestránkové a hybridní aplikace se k funkčnímu serveru dostanou během velmi malého počtu řádků.

  • 🔘 Role MEAN stacku: Express.js poskytuje backendovou vrstvu vedle MongoDB, AngularJS a Node.js.
  • ☑️ Instalace: npm install express stáhne framework z Node Package Manageru.
  • (Tj. Směrování: app.METHOD(PATH, HANDLER) mapuje každý URL a HTTP sloveso k jednomu obslužnému programu.
  • 🧪 Šablony: app.set('view engine') a res.render vkládají data do souboru zobrazení.
  • 🛠️ Moderní forma: Express 5 akceptuje obslužné rutiny vracející promise a svazuje express.json().
  • 📊 Poznámka k verzi: Jade byl přejmenován na Pug a Node.js 24 je řada Active LTS.

Výukový program k frameworku Node.js Express.js

V tomto tutoriálu se budeme zabývat frameworkem Express. Tento framework je navržen tak, aby fungoval jako minimalistický a flexibilní framework webových aplikací Node.js a poskytoval robustní sadu funkcí pro vytváření jednostránkových, vícestránkových a hybridních webových aplikací.

Co je Express.js?

Express.js je framework pro webový aplikační server Node.js, který je speciálně navržen pro vytváření jednostránkových, vícestránkových a hybridních webových aplikací.

Stal se standardním serverovým frameworkem pro Node.js. Express je backendová část něčeho, co je známé jako MEAN stack.

Směrování a middleware expresních vrstev přes jádro Node.js HTTP, proudy a API pro události.

MEAN je bezplatný a otevřený zdroj JavaScénář Softwarová sada pro vytváření dynamických webových stránek a webových aplikací, která má následující komponenty;

1) MongoDB — Standardní NoSQL databáze

2) Express.js — Výchozí framework webových aplikací

3) AngularJS - The JavaSkriptový MVC framework používaný pro webové aplikace

4) Node.js — Rámec používaný pro škálovatelné serverové a síťové aplikace.

Framework Express.js velmi usnadňuje vývoj aplikace, kterou lze použít ke zpracování více typů požadavků, jako jsou požadavky GET, PUT a POST a DELETE.

Instalace a používání Express

Express se instaluje prostřednictvím Správce balíčků uzlů. To lze provést spuštěním následujícího řádku v příkazovém řádku

npm install express

Výše uvedený příkaz požaduje od Node Package Manageru stažení požadovaného expresního souboru. moduly a podle toho je nainstalujte.

Poznámka k verzi: npm nyní instaluje Express 5.2; mnoho projektů stále používá Express 4. Oba spouštějí níže uvedené příklady na podporovaná verze Node.js.

Využijme náš nově nainstalovaný Express framework a vytvořme jednoduchou aplikaci „Hello World“.

Naše aplikace vytvoří jednoduchý serverový modul který bude naslouchat na portu číslo 3000. V našem příkladu, pokud je na tomto portu odeslán požadavek prostřednictvím prohlížeče, serverová aplikace odešle klientovi odpověď „Hello World“.

Anotovaný kód serveru Express Hello World naslouchá na portu 3000

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

Code Vysvětlení:

  1. V našem prvním řádku kódu používáme funkci require k zahrnutí „expresního modulu“.
  2. Než budeme moci začít používat expresní modul, musíme z něj vytvořit objekt.
  3. Zde vytváříme callback funkci. Tato funkce bude volána vždy, když někdo navštíví kořenový adresář naší webové aplikace, kterým je http://localhost:3000. Callback funkce bude použita k odeslání řetězce 'Hello World' na webovou stránku.
  4. Ve funkci zpětného volání posíláme klientovi zpět řetězec „Hello World“. Parametr 'res' se používá k odeslání obsahu zpět na webovou stránku. Tento parametr 'res' je něco, co poskytuje modul 'request', který umožňuje odeslat obsah zpět na webovou stránku.
  5. Poté pomocí funkce listen nastavíme, aby naše serverová aplikace naslouchala požadavkům klientů na portu č. 3000. Zde můžete zadat libovolný dostupný port.

Pokud je příkaz úspěšně proveden, při spuštění kódu v prohlížeči se zobrazí následující výstup.

Výstup:

Prohlížeč zobrazující zprávu Hello World vrácenou serverem Express na portu 3000

Z výstupu,

  • To jasně uvidíte, pokud si prohlédnete URL z localhostu na portu 3000, uvidíte na stránce zobrazený řetězec 'Hello World'.
  • Protože jsme v našem kódu konkrétně zmínili, že server má naslouchat na portu č. 3000, můžeme si při procházení tohoto portu prohlédnout výstup. URL.

Co jsou trasy?

Jednokořenová trasa je pouze výchozím bodem.

Směrování určuje způsob, jakým aplikace reaguje na požadavek klienta odeslaný na konkrétní koncový bod.

Například klient může provést http požadavek GET, POST, PUT nebo DELETE pro různé URL jako například ty, které jsou uvedeny níže;

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

Ve výše uvedeném příkladu

  • Pokud je požadavek GET proveden pro první URL, pak by odpověď ideálně měla být seznam knih.
  • Pokud je požadavek GET proveden podruhé URL, pak by odpověď ideálně měla být seznam studentů.
  • Takže na základě URL ke kterému je přistupováno, bude na webovém serveru vyvolána jiná funkce a klientovi bude odeslána odpověď. Toto je koncept směrování.

Každá cesta může mít jednu nebo více funkcí obsluhy, které se provádějí, když je trasa spárována.

Obecná syntaxe trasy je uvedena níže

app.METHOD(PATH, HANDLER)

přičemž

1) app je instancí expresního modulu

2) METHOD je metoda požadavku HTTP (GET, POST, PUT nebo DELETE)

3) PATH je cesta na serveru.

4) HANDLER je funkce, která se provádí, když je trasa spárována.

volání Žádost Účel
app.get(CESTA, POSTUP) GET číst
app.post(CESTA, POSTUP) POST Vytvořit
app.put(CESTA, POSTUP) PUT Nahradit
app.delete(CESTA, POSTUP) DELETE Odstranit
aplikace.trasa(CESTA) Zřetězené Obslužné rutiny skupin
app.use(HANDLER) Žádný Připojení middlewaru

⚠️ Express 5 poznámky: Tyto podpisy zůstaly nezměněny, ale app.del() se změnila na app.delete(), res.sendfile() se změnila na res.sendFile() a zástupné znaky nyní potřebují názvy jako /*splat.

Podívejme se na příklad, jak můžeme implementovat trasy v Expressu. V našem příkladu vytvoříme 3 trasy jako

  1. Trasa /Node, která zobrazí řetězec „Tutorial on Node“, pokud je tato trasa zpřístupněna
  2. Cesta /Angular, která zobrazí řetězec „Tutorial on Angular“, pokud je tato trasa zpřístupněna
  3. Výchozí trasa /, která zobrazí řetězec „Vítejte v Guru99 tutoriálů.“

Náš základní kód zůstane stejný jako v předchozích příkladech. Níže uvedený úryvek je doplňkem, který ukazuje, jak je implementováno směrování.

Anotovaný směrovací kód Express definující trasy Node, Angular a výchozí trasy

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 Vysvětlení:

  1. Zde definujeme trasu, pokud 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 URLFunkce má 2 parametry.
    • Hlavním parametrem, který budeme používat, je parametr 'res', který lze použít k odeslání informací zpět klientovi.
    • Parametr 'req' obsahuje informace o prováděném požadavku. Někdy mohou být v rámci požadavku odeslány další parametry, a proto lze parametr 'req' použít k nalezení dalších odesílaných parametrů.
  2. Používáme funkci send k odeslání řetězce „Tutorial on Node“ zpět klientovi, pokud je zvolena cesta Node.
  3. Zde definujeme trasu, pokud 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. Pokud je zvolena Angular route, používáme funkci send k odeslání řetězce „Tutorial on Angular“ zpět klientovi.
  5. Toto je výchozí trasa, která se vybere při procházení kořenového adresáře aplikace – http://localhost:3000. Po výběru výchozí trasy se zobrazí zpráva „Vítejte v GuruKlientovi bude zasláno „99 tutoriálů“.

Pokud je příkaz úspěšně proveden, při spuštění kódu v prohlížeči se zobrazí následující výstup.

Výstup:

Prohlížeč zobrazuje Vítejte Guru99 tutoriálů na výchozí trase Express

Z výstupu,

  • To jasně uvidíte, pokud si prohlédnete URL na localhostu na portu 3000 uvidíte řetězec 'Vítejte na GuruNa stránce je zobrazeno 99 tutoriálů.
  • Protože v našem kódu jsme zmínili, že naše výchozí URL by zobrazilo tuto zprávu.

Dále přejděte do složky /Node.

Prohlížeč zobrazující tutoriál k uzlu vrácenému trasou uzlu

Z výstupu,

  • Můžete vidět, že pokud URL byl změněn na /Node, bude vybrána příslušná trasa uzlu a zobrazí se řetězec „Tutorial on Node“.

Pak přejděte do /Angular.

Prohlížeč zobrazující tutoriál o Angularu vrácený trasou Angular

Z výstupu,

  • Můžete vidět, že pokud URL byl změněn na /Angular, bude vybrána příslušná trasa uzlu a zobrazí se řetězec „Tutorial on Angular“.

Ukázkový webový server pomocí express.js

Z výše uvedeného příkladu jsme viděli, jak se můžeme na základě směrování rozhodnout, jaký výstup zobrazit. Tento typ směrování se používá ve většině moderních webových aplikací. Druhou částí webového serveru je používání šablon v Node.js.

Při vytváření rychlých a okamžitých Node.js aplikací je snadným a rychlým způsobem použití šablon pro danou aplikaci. Na trhu je k dispozici mnoho frameworků pro tvorbu šablon. V našem případě si jako příklad vezmeme framework Jade pro šablonování.

Jade se instaluje pomocí Node Package Manageru. To lze provést spuštěním následujícího řádku v příkazovém řádku

npm nainstalovat jade

Výše uvedený příkaz požádá Node Package Manager o stažení požadovaných modulů Jade a jejich odpovídající instalaci.

POZNÁMKA: V nejnovější verzi Node byl jade zastaralý. Místo toho použijte mops.

⚠️ Moderní ekvivalent: instalovat Mopslík, přejmenujte index.jade na index.pug a nastavte app.set('view engine','pug'). Balíček jade neobdrží žádné aktualizace; níže uvedené kroky se stále spustí.

Použijme nově nainstalovaný framework Jade a vytvořme si několik základních šablon.

Krok 1) Prvním krokem je vytvoření šablony Jade. Vytvořte soubor s názvem index.jade a vložte do něj níže uvedený kód. Ujistěte se, že soubor vytvoříte ve složce „views“.

Šablona index.jade s zástupnými symboly pro nadpis a záhlaví

  1. Zde určujeme, že název stránky se změní na jakoukoli hodnotu, která je předána, když je tato šablona vyvolána.
  2. Také specifikujeme, že text v tagu hlavičky bude nahrazen textem předaným v šabloně Jade.

Následuje kód aplikace, který jej vykresluje.

Anotovaný kód Expressu nastavující zobrazovací engine a renderovací index Jade

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 Vysvětlení:

  1. První věc, kterou je třeba v aplikaci specifikovat, je „view engine“, který bude použit k vykreslování šablon. Protože k vykreslování šablon budeme používat Jade, specifikujeme ho odpovídajícím způsobem.
  2. Funkce render se používá k vykreslení webové stránky. V našem příkladu vykreslujeme šablonu (index.jade), která byla vytvořena dříve.
  3. Předáváme hodnoty „Guru„99“ a „Vítejte“ k parametrům „title“ a „message“. Tyto hodnoty budou nahrazeny parametry „title“ a „message“ deklarovanými v šabloně index.jade.

Pokud je příkaz úspěšně proveden, při spuštění kódu v prohlížeči se zobrazí následující výstup.

Výstup:

Prohlížeč vykresluje šablonu Jade s názvem Guru99 a hlavička Vítejte

Z výstupu,

  • Vidíme, že název stránky se nastaví na „Guru99“ a záhlaví stránky se nastaví na „Vítejte“.
  • Je to kvůli šabloně Jade, která se volá v naší aplikaci Node.js.

Nejčastější dotazy

middleware Funkce přijímají req, res a next a poté se spouštějí v pořadí registrace. Zajišťují logování, parsování těla odpovědi, autentizaci a chyby a každá z nich musí ukončit odpověď nebo zavolat next().

Ne. Express obsahuje parsery, takže express.json() a express.urlencoded() nahrazují samostatné funkce. analyzátor těla textu závislost. Kombinovaný pomocník bodyParser() byl odstraněn a req.body zůstává nedefinovaný, dokud se nespustí parser.

Express 5 obslužné rutiny byly nastaveny tak, aby odpovídaly promise, byly odstraněny funkce app.del() a res.sendfile(), vylepšeno porovnávání cest, takže zástupné znaky potřebují názvy jako /*splat, a urlencoded extended byl ve výchozím nastavení nastaven na false.

V Expressu 5 se odmítnutý promise automaticky předává middlewaru pro ošetření chyb, takže manuální volání next(err) mizí. Express 4 potřebuje explicitní try/catch uvnitř každé asynchronní funkce. callback.

MopslíkŠablona Jade byla z důvodu ochrany ochranné známky přejmenována a balíček Jade je zastaralý. Stávající šablony fungují i ​​po přejmenování na .pug a přepnutí zobrazovacího enginu.

Node.js 24 je aktivní LTS linka v roce 2026, zatímco Node.js 22 zůstává v údržbě, takže instalovat jeden z nich. Express 5 vyžaduje Node.js 18 nebo novější.

Skenery strojového učení čtou definice tras a pořadí middlewaru a poté označují chybějící ověření jako neověřené. JavaScénář vstupní a permisivní pravidla CORS. Lidský kontrolor stále potvrzuje každý nález.

GitHub Copilot a podobní agentičtí asistenti generují soubory tras, validační middleware a řadiče z jednoho krátkého promptu. Každá vygenerovaná trasa stále potřebuje Testování před vydáním.

Shrňte tento příspěvek takto: