V tomto tutoriálu budeme studovat rámec Express. Tento rámec je postaven takovým způsobem, že funguje jako minimální a flexibilní rámec webových aplikací Node.js, který poskytuje robustní sadu funkcí pro vytváření jednostranné a vícestránkové a hybridní webové aplikace.
V tomto výukovém programu se naučíte
- Co je Express.js?
- Instalace a používání Express
- Co jsou cesty?
- Ukázkový webový server využívající express.js
Co je Express.js?
Express.js je framework serveru webových aplikací 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 rámcem serveru pro node.js. Express je backendová část něčeho známého jako MEAN stack.
MEAN je bezplatný a otevřený zdrojový software JavaScriptu pro vytváření dynamických webových stránek a webových aplikací, který má následující komponenty;
1) MongoDB - standardní databáze NoSQL
2) Express.js - výchozí rámec webových aplikací
3) Angular.js - Rámec JavaScript MVC používaný pro webové aplikace
4) Node.js - Framework používaný pro škálovatelné serverové a síťové aplikace.
Framework Express.js umožňuje velmi snadno vyvinout aplikaci, 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 nainstaluje pomocí 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ů uzlů stáhl požadované expresní moduly a odpovídajícím způsobem je nainstaloval.
Využijme náš nově nainstalovaný Express rámec 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 zadán požadavek na tomto čísle portu, serverová aplikace poš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ž můžeme začít používat expresní modul, musíme si z něj vytvořit objekt.
- Zde vytváříme funkci zpětného volání. Tato funkce bude volána, kdykoli někdo přejde do kořenového adresáře naší webové aplikace, kterým je http: // localhost: 3000 . Funkce zpětného volání se použije k odeslání řetězce „Hello World“ na webovou stránku.
- Ve funkci zpětného volání zasíláme klientovi ř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 poslech k tomu, aby naše serverová aplikace poslouchala požadavky 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ě vidíte, že když procházíme URL localhost na portu 3000, uvidíte na stránce řetězec 'Hello World'.
- Protože v našem kódu jsme zmínili konkrétně, aby server naslouchal na portu č. 3000, jsme schopni zobrazit výstup při procházení této adresy URL.
Co jsou cesty?
Směrování určuje způsob, jakým aplikace reaguje na požadavek klienta na konkrétní koncový bod.
Například může klient vytvořit požadavek GET, POST, PUT nebo DELETE http pro různé adresy URL, například ty, které jsou uvedeny níže;
http://localhost:3000/Bookshttp://localhost:3000/Students
Ve výše uvedeném příkladu
- Pokud je zadán požadavek GET pro první URL, pak by v ideálním případě měl být odpovědí seznam knih.
- Pokud je požadavek GET zadán pro druhou adresu URL, měla by být v ideálním případě odpovědí seznam studentů.
- Takže na základě adresy URL, ke které se přistupuje, bude vyvolána jiná funkce webového serveru a podle toho bude odpověď odeslána klientovi. Toto je koncept směrování.
Každá trasa může mít jednu nebo více funkcí obslužné rutiny, které se provedou při shodě trasy.
Obecná syntaxe trasy je uvedena níže
app.METHOD(PATH, HANDLER)
Z toho
1) aplikace 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 prováděná při spárování trasy.
Podívejme se na příklad toho, jak můžeme implementovat trasy v expresu. Náš příklad vytvoří 3 trasy jako
- Trasa A / Node, která zobrazí řetězec „Výukový program na uzlu“, pokud je tato trasa přístupná
- A / Úhlová trasa, která zobrazí řetězec „Výukový program na Úhlové“, pokud je k této trase přistupováno
- Výchozí trasa /, která zobrazí řetězec „Vítejte v tutoriálech Guru99.“
Náš základní kód zůstane stejný jako předchozí příklady. Níže uvedený fragment je doplněk, který ukazuje, jak je směrování implementováno.
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 je v prohlížeči vybrána adresa URL http: // localhost: 3000 / Node . K trase připojujeme funkci zpětného volání, která bude volána při procházení adresy URL uzlu.
Funkce má 2 parametry.
- Hlavním parametrem, který použijeme, je parametr „res“, kterým lze zaslat informace zpět klientovi.
- Parametr „req“ obsahuje informace o zadávaném požadavku. Někdy lze odeslat další parametry jako součást zadávaného požadavku, a proto lze k vyhledání odesílaných dalších parametrů použít parametr „req“.
- Používáme funkci send k odeslání řetězce "Výukový program na uzlu" zpět klientovi, pokud je zvolena cesta uzlu.
- Zde definujeme trasu, pokud je v prohlížeči vybrána adresa URL http: // localhost: 3000 / Angular . K trase připojujeme funkci zpětného volání, která bude volána při procházení úhlové adresy URL.
- Používáme funkci send k odeslání řetězce „Tutorial on Angular“ zpět klientovi, pokud je zvolena Angular route.
- Toto je výchozí trasa, která se vybere při procházení trasy aplikace - http: // localhost: 3000 . Když je vybrána výchozí trasa, klientovi bude zaslána zpráva „Vítejte v tutoriálech Guru99“.
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ě vidíte, že pokud procházíme adresu URL localhost na portu 3000, na stránce se zobrazí řetězec „Welcome to Guru99 Tutorials“.
- Protože v našem kódu jsme zmínili, že naše výchozí adresa URL by zobrazila tuto zprávu.
Z výstupu
- Vidíte, že pokud byla adresa URL změněna na / Node, zvolí se příslušná trasa Uzlu a zobrazí se řetězec „Výukový program na uzlu“.
Z výstupu
- Vidíte, že pokud byla adresa URL změněna na / Úhlová, byla by zvolena příslušná trasa Uzlu a byl zobrazen řetězec „Výukový program na úhlové“.
Ukázkový webový server využívající express.js
Z výše uvedeného příkladu jsme viděli, jak se můžeme rozhodnout, jaký výstup se zobrazí 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 chodu je snadným a rychlým způsobem použití šablon pro aplikaci. Na trhu existuje mnoho rámců pro vytváření šablon. V našem případě si vezmeme příklad nefritového rámce pro šablonování.
Jade se nainstaluje pomocí 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 nefrit
Výše uvedený příkaz požaduje, aby správce balíčků uzlů stáhl požadované nefritové moduly a odpovídajícím způsobem je nainstaloval.
POZNÁMKA: V nejnovější verzi uzlu byl nefrit zastaralý. Místo toho použijte mops.
Využijme náš nově nainstalovaný nefritový rámec a vytvořme několik základních šablon.
Krok 1) Prvním krokem je vytvoření nefritové šablony. Vytvořte soubor s názvem index.jade a vložte níže uvedený kód. Nezapomeňte vytvořit soubor ve složce "zobrazení"
- Zde určujeme, že se název stránky změní na jakoukoli hodnotu, která se předá, když se vyvolá tato šablona.
- Rovněž určujeme, že text ve značce záhlaví bude nahrazen tím, co bude předáno v nefritové šabloně.
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 v aplikaci zadáte, je „view engine“, který bude použit k vykreslení šablon. Protože k vykreslení našich šablon použijeme nefrit, specifikujeme to odpovídajícím způsobem.
- Funkce vykreslení 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 „Vítejte“ předáváme parametrům „název“ a „zpráva“. 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 bude nastaven na „Guru99“ a záhlaví stránky bude nastaveno na „Vítejte“.
- Důvodem je nefritová šablona, která je vyvolána v naší aplikaci js node.
souhrn
- Express framework je nejběžnější framework používaný pro vývoj aplikací Node js. Express framework je postaven na vrcholu framework node.js 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ě zadaného požadavku. Odpověď pro každou trasu se může lišit v závislosti na tom, co je třeba uživateli zobrazit.
- Šablony lze použít k efektivnímu vkládání obsahu. Jade je jedním z nejpopulárnějších šablonových motorů používaných v aplikacích Node.js.