Výukový program Node.js Express FrameWork – Naučte se za 10 minut
V tomto tutoriálu budeme studovat rámec Express. Tento rámec je postaven tak, že funguje jako minimální a flexibilní rámec webové aplikace Node.js, který poskytuje 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 webového aplikačního serveru 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 rámcem pro node.js. Express je backendová část něčeho známého jako MEAN stack.
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í rámec webových aplikací
3) Angular.js - JavaSkriptový MVC framework používaný pro webové aplikace
4) Node.js – Framework používaný pro škálovatelné aplikace na straně serveru 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, aby správce balíčků Node stáhl požadované expresní moduly a podle toho je nainstaloval.
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 prostřednictvím prohlížeče podán požadavek na toto číslo portu, serverová aplikace odešle klientovi odpověď 'Hello' World' .
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Vysvětlení kódu:
- V našem prvním řádku kódu používáme funkci require k zahrnutí „expresního modulu“.
- Než budeme moci začít používat expresní modul, musíme z něj vytvořit objekt.
- Zde vytváříme funkci zpětného volání. Tato funkce bude volána vždy, když někdo přejde do kořenového adresáře naší webové aplikace, což je http://localhost:3000 . Funkce zpětného volání bude použita k odeslání řetězce 'Hello World' na webovou stránku.
- 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.
- Poté používáme funkci listen to, 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:
Z výstupu,
- Jasně můžete vidět, že pokud projdete na adresu URL localhost na portu 3000, uvidíte na stránce zobrazený řetězec 'Hello World'.
- Protože jsme v našem kódu zmínili speciálně pro server naslouchat na portu č. 3000, jsme schopni zobrazit výstup při procházení této adresy URL.
Co jsou trasy?
Směrování určuje způsob, jakým aplikace reaguje na požadavek klienta na konkrétní koncový bod.
Klient může například vytvořit požadavek GET, POST, PUT nebo DELETE http pro různé URL, jako jsou ty, které jsou uvedeny níže;
http://localhost:3000/Books http://localhost:3000/Students
Ve výše uvedeném příkladu
- Pokud je pro první URL zadán požadavek GET, měl by být odpovědí v ideálním případě seznam knih.
- Pokud je požadavek GET zadán pro druhou adresu URL, měl by být odpovědí v ideálním případě seznam studentů.
- Takže na základě adresy URL, ke které se přistupuje, bude vyvolána jiná funkce na webovém serveru a podle toho bude klientovi zaslá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.
Podívejme se na příklad, jak můžeme implementovat trasy v expresu. Náš příklad vytvoří 3 trasy jako
- Trasa /Node, která zobrazí řetězec „Tutorial on Node“, pokud je tato trasa zpřístupněna
- Cesta /Angular, která zobrazí řetězec „Tutorial on Angular“, pokud je tato trasa zpřístupněna
- Výchozí trasa / která zobrazí řetězec „Welcome to Guru99 Tutorials“.
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í.
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'); }));
Vysvětlení kódu:
- Zde definujeme trasu, pokud URL http://localhost:3000/Node je vybráno v prohlížeči. K trase připojujeme funkci zpětného volání, která se zavolá při procházení URL uzlu. Funkce 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ů.
- Používáme funkci send k odeslání řetězce „Tutorial on Node“ zpět klientovi, pokud je zvolena cesta Node.
- Zde definujeme trasu, pokud URL http://localhost:3000/Angular je vybráno v prohlížeči. K trase připojujeme funkci zpětného volání, která se zavolá, když projdeme na Angular URL.
- Pokud je zvolena Angular route, používáme funkci send k odeslání řetězce „Tutorial on Angular“ zpět klientovi.
- Toto je výchozí trasa, která je vybrána při procházení trasy aplikace – http://localhost:3000. Když je zvolena výchozí trasa, bude klientovi zaslána zpráva „Welcome to Guru99 Tutorials“.
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:
Z výstupu,
- Jasně můžete vidět, že pokud projdete na URL localhost na portu 3000, uvidíte na stránce zobrazený řetězec 'Welcome to Guru99 Tutorials'.
- Protože v našem kódu jsme zmínili, že naše výchozí adresa URL zobrazí tuto zprávu.
Z výstupu,
- Můžete vidět, že pokud byla URL změněna na /Node, byla by vybrána příslušná trasa uzlu a zobrazí se řetězec „Tutorial On Node“.
Z výstupu,
- Můžete vidět, že pokud byla URL změněna 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 našeho výše uvedeného příkladu jsme viděli, jak se můžeme rozhodnout, jaký výstup zobrazit na základě směrování. Tento druh směrování se používá ve většině moderních webových aplikací. Druhá část webového serveru je o používání šablon v Node js.
Při vytváření rychlých aplikací Node za běhu je snadným a rychlým způsobem použití šablon pro aplikaci. Na trhu je k dispozici mnoho frameworků pro tvorbu šablon. V našem případě si vezmeme příklad jade frameworku pro šablonování.
Jade 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 nainstalovat jade
Výše uvedený příkaz požaduje, aby správce balíčků Node stáhl požadované nefritové moduly a podle toho je nainstaloval.
POZNÁMKA: V nejnovější verzi Node byl jade zastaralý. Místo toho použijte mops.
Použijme náš nově nainstalovaný nefritový framework a vytvořme některé základní šablony.
Krok 1) Prvním krokem je vytvoření šablony jadeitu. Vytvořte soubor s názvem index.jade a vložte níže uvedený kód. Ujistěte se, že jste vytvořili soubor ve složce „views“.
- 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.
- Také určujeme, že text ve značce záhlaví bude nahrazen tím, co bude předáno v šabloně nefritu.
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() {});
Vysvětlení kódu:
- První věc, kterou je třeba v aplikaci zadat, je „zobrazovací modul“, který bude použit k vykreslení šablon. Protože budeme k vykreslování našich šablon používat nefrit, specifikujeme to odpovídajícím způsobem.
- 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.
- Hodnoty „Guru99“ a „Welcome“ předáváme 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:
Z výstupu,
- Vidíme, že název stránky se nastaví na „Guru99“ a záhlaví stránky na „Vítejte“.
- Je to kvůli šabloně jade, která se vyvolá v naší aplikaci node js.
Shrnutí
- Expresní rámec je nejběžnější rámec používaný pro vývoj aplikací Node js. Express framework je postaven na node.js frameworku a pomáhá při rychlém vývoji serverových aplikací.
- Trasy se používají k přesměrování uživatelů do různých částí webových aplikací na základě provedeného požadavku. Odezva pro každou trasu se může lišit v závislosti na tom, co je potřeba uživateli ukázat.
- Šablony lze použít k efektivnímu vkládání obsahu. Jade je jedním z nejpopulárnějších šablonovacích motorů používaných v aplikacích Node.js.