Express - je to rychlá, flexibilní a minimalistická webová aplikace pro vytvoření serveru na platformě Node.js. Poskytuje výkonný soubor funkcí pro vývoj webových aplikací a díky své jednoduchosti a srozumitelnosti je ideální volbou pro začínající vývojáře.
Pokud se chcete naučit vytvářet svůj vlastní server pomocí Express, tento průvodce pro začátečníky vám poskytne všechny potřebné pokyny a příklady kódu, abyste se rychle naučili základy.
Naučíte se, jak nainstalovat Express, nakonfigurovat směrování, vytvářet obslužné rutiny požadavků a pracovat se šablonami. Dozvíte se také o důležitých konceptech, jako jsou middlevary, šablonizace a zpracování chyb.
Příprava na vytvoření serveru
Než začnete budovat server, je důležité provést několik předběžných kroků:
1. Nainstalujte Node.js do počítače. Node.js je runtime JavaScript, které vám umožňuje spouštět kód na serveru. Můžete si stáhnout a nainstalovat Node.js z oficiálních stránek https://nodejs.org/.
2. Zkontrolujte, zda je nainstalován Node.js otevřením příkazového řádku (ve Windows) nebo terminálu (v macOS nebo Linuxu) a zadáním následujícího příkazu:
Pokud je instalace úspěšná, uvidíte verzi Node.js.
3. Nainstalujte dávkový Správce npm (Node Package Manager), který se používá k instalaci balíčků a modulů Node třetích stran.js. npm se nainstaluje automaticky při instalaci Node.js, takže není třeba manuálně instalovat dávkový Správce.
4. Vytvořte novou složku, ve které bude váš projekt serveru umístěn. Můžete si vybrat libovolné místo, které je pro vás vhodné pro vytvoření složky.
5. Otevřete vytvořenou složku na příkazovém řádku nebo terminálu pomocí příkazu cd . Pokud se například vaše složka nazývá "my-server-project", zadejte následující příkaz:
Nyní jste připraveni začít budovat svůj server pomocí Express!
Instalace Express
Chcete-li nainstalovat Express, musíte postupovat podle následujících kroků:
- Nainstalujte Node.js, pokud ještě není nainstalován ve vašem počítači. Můžete si stáhnout instalační program Node.js z oficiálních stránek https://nodejs.org / a postupujte podle pokynů k instalaci.
- Otevřete příkazový řádek nebo terminál a zkontrolujte, zda je nainstalován Node.js spuštěním příkazu node-v . Pokud máte nainstalovanou nejnovější verzi Node.js, uvidíte číslo verze.
- Nainstalujte Express spuštěním příkazu npm install express .
- Zkontrolujte, zda je Express nainstalován spuštěním příkazu npm LS express . Pokud je instalace úspěšná, uvidíte verzi Express.
Gratuluji! Express jste úspěšně nainstalovali do počítače a jste připraveni začít vytvářet server pomocí tohoto rámce.
Inicializace projektu
Před vytvořením serveru pomocí Express je nutné Projekt inicializovat. Chcete-li to provést, postupujte podle následujících kroků:
- Vytvořte nový adresář pro svůj projekt v počítači.
- Otevřete příkazový řádek a přejděte do vytvořeného adresáře pomocí příkazu cd director_projekt .
- Inicializujte projekt pomocí příkazu npm init . Proveďte všechny požadavky, včetně názvu projektu a dalších nastavení.
- Nainstalujte Express do projektu pomocí příkazu npm install express . Tento příkaz nainstaluje Express a přidá jej do souboru závislostí projektu (package.json).
Nyní je projekt úspěšně inicializován a připraven k vytvoření serveru pomocí Express.
Nastavení tras
Po vytvoření serveru pomocí Express musíme nakonfigurovat trasy pro zpracování požadavků.
Trasy V Express jsou definovány pomocí metod HTTP (např. GET, POST, PUT, DELETE) a cesty URL. Pro každou trasu je zadán obslužný program, který se provádí při obdržení příslušné žádosti.
Podívejme se na příklad přizpůsobení tras:
const express = require('express');const app = express();// GET-маршрутapp.get('/api/users', (req, res) =\>/ Код обработки GET-запроса> );// POST-маршрутapp.post('/api/users', (req, res) =\>/ Код обработки POST-запроса> );// PUT-маршрутapp.put('/api/users/:id', (req, res) =\>/ Код обработки PUT-запроса> );// DELETE-маршрутapp.delete('/api/users/:id', (req, res) =\>/ Код обработки DELETE-запроса> );app.listen(3000, () =\> );
V tomto příkladu jsou definovány čtyři trasy:
- / api / users-GET-itinerář pro seznam uživatelů
- / api / users-post-itinerář pro vytvoření nového uživatele
- / api / users/: ID-put-itinerář pro aktualizaci informací o uživateli s nastaveným ID
- / api / users/: id-DELETE-trasa pro odstranění uživatele s zadaným ID
Místo / api / users a/api/users/: id mohou existovat jakékoli jiné cesty URL v závislosti na vaší aplikaci a její funkčnosti.
Zpracovatelé tras (funkce, které jsou volány v příslušném dotazu) mohou provádět jakékoli činnosti potřebné ke zpracování dotazu, například extrahovat data z databáze a odesílat odpovědi.
Nastavení tras nám tedy umožňuje určit, jak bude server reagovat na různé požadavky, a provést požadované kroky v závislosti na vstupních datech.
Vytváření šablon reprezentace
Šablony zobrazení umožňují efektivní uspořádání zobrazení dat na webové stránce. Namísto ručního psaní celého HTML kódu můžeme vytvořit šablonu s několika prázdnými místy, která se během běhu serveru vyplní skutečnými daty.
Express podporuje různé šablonizéry, jako je Pug, Handlebars, EJS a další. Vezměme si příklad šablonizátoru EJS.
Chcete-li ve svém projektu používat EJS, musíte jej nainstalovat pomocí npm:
npm install ejs
Po instalaci šablony můžeme nakonfigurovat Express pro použití EJS jako prezentačního enginu. Takto se to dělá:
const express = require('express');const app = express();app.set('view engine', 'ejs');
Nyní Express vyhledá soubory šablon s příponou .ejs v adresáři views. Můžeme vytvořit soubor s názvem index.ejs v adresáři views a použít jej k zobrazení dat na domovské stránce:
K zobrazení této šablony na domovské stránce můžeme použít metodu res.render () ve zpracování trasy:
app.get('/', (req, res) => ,< name: 'Jane' >,< name: 'Bob' >];res.render('index', < users: users >);>);
V tomto příkladu přenášíme pole uživatelů do šablony pomocí objektu, který je uveden druhým parametrem metody res.render(). Express pak automaticky nahraje hodnoty z pole do šablony a výsledek odešle klientovi.
Použití šablon zobrazení tak umožňuje výrazně zjednodušit vytváření dynamických webových stránek pomocí Express.
Práce s databází
Vytvoření serveru pomocí Express obvykle zahrnuje práci s databází, aby bylo možné ukládat, extrahovat a aktualizovat informace. Pro práci s databází v Express lze použít různé moduly a knihovny, jako jsou mongoose, Sequelize a další.
Zde se podíváme na příklad práce s databází pomocí modulu mongoose. Tento modul musíte nejprve nainstalovat pomocí příkazu:
npm install mongoose
Po instalaci modulu jej lze připojit do souboru aplikace následovně:
const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/my_database', < useNewUrlParser: true >);
Při připojení k databázi zadáme její adresu URL (např. mongodb://localhost/my_database) a možnost < useNewUrlParser: true >, který umožňuje použití nového parseru připojovacího řetězce.
Dále můžeme vytvořit schéma a model pro práci s daty. Představme si například, že máme sbírku uživatelů. Schéma pro tuto kolekci můžeme definovat následovně:
const userSchema = new mongoose.Schema();
Po definování schématu můžeme vytvořit model pro práci s daty uživatele:
const User = mongoose.model('User', userSchema);
Nyní můžeme tento model použít k vytváření, vyhledávání, aktualizaci a mazání uživatelů v databázi. K vytvoření nového uživatele můžeme například použít následující kód:
const newUser = new User();newUser.save();
Tím se do databáze přidá nový uživatel. A pro vyhledávání uživatelů s určitými parametry můžeme použít například následující kód:
User.find( < age: < $lt: 30 >>, function(err, users) );
Tím se zobrazí seznam uživatelů mladších 30 let.
Práce s databází v Express pomocí modulu mongoose je tedy poměrně jednoduchá a pohodlná. K provádění různých databázových operací můžete použít další funkce a metody.
Práce s POST-žádostmi
Pro začátek nainstalujeme modul `body-parser ' pomocí npm:
npm install body-parser
Po instalaci modulu jej přidáme do projektu a nakonfigurujeme:
const express = require('express');const bodyParser = require('body-parser');const app = express();app.use(bodyParser.urlencoded(< extended: false >));app.use(bodyParser.json());// Здесь находится код обработки POST-запросовapp.listen(3000, () => );
Připojili jsme modul `body-parser` a nakonfigurovali jej tak, aby zpracovával požadavky na POST. Metoda urlencoded (< extended: false >) označuje, že data v dotazu budou kódována pomocí kódování URL. Metoda json () označuje, že data v dotazu budou ve formátu JSON.
Nyní můžeme vyřizovat žádosti o POST. K tomu budeme muset vytvořit obslužnou rutinu, která bude volána, když obdržíme POST požadavek:
app.post('/submit', (req, res) => );
V tomto příkladu jsme vytvořili post-dotazovou obslužnou rutinu pro cestu '/ submit'. Uvnitř obslužné rutiny můžeme přistupovat k odeslaným datům pomocí objektu ' req.body`. V tomto případě ukládáme hodnoty polí 'name' a` email ' do proměnných.
Zde lze provést libovolnou logiku, kterou je třeba zpracovat na Serveru po obdržení dat. Můžete například uložit data do databáze nebo poslat oznámení na poštu.
Zpracování chyb
Při vývoji serveru dochází k chybám. Chyby mohou souviset s nesprávným zadáním dat uživatelem, problémy s databází, nedostupností externích služeb a dalšími faktory.
Zpracování chyb je důležitou součástí vývoje serveru, protože pomáhá předcházet pádu aplikace a poskytuje uživatelům srozumitelné chybové zprávy.
Express poskytuje několik způsobů zpracování chyb:
| Způsob | Popis |
|---|---|
| Middleware pro zpracování chyb | Express umožňuje identifikovat speciální middleware, který bude povolán ke zpracování chyb. Middleware pro zpracování chyb má čtyři argumenty, včetně objektu chyby. |
| Try. catch design | Uvnitř obslužných rutin nebo middleware lze použít try. catch konstrukce pro odchyt a zpracování chyb. Tento přístup umožňuje flexibilnější správu chyb a různé akce v závislosti na typu chyby. |
| Error objekt | Express poskytuje vestavěný objekt Error, který lze použít k vytváření a zpracování chyb. Error objekt umožňuje zadat chybovou zprávu, zásobník hovorů a další informace. |
Tyto způsoby lze kombinovat a vytvářet složitější scénáře pro zpracování chyb. Je důležité vzít v úvahu možné bezpečnostní problémy při zpracování chyb, jako je nechtěné zobrazení podrobných informací o chybě Pro uživatele.
Nasazení na serveru
Jakmile vytvoříte svůj server pomocí Express, můžete jej rozbalit na živý server, aby byl váš web přístupný uživatelům internetu.
Prvním krokem k nasazení serveru je získání bezplatného hostingového účtu u poskytovatele hostingu. Existuje mnoho poskytovatelů hostingu, jako je Heroku, AWS, DigitalOcean a další, kteří poskytují služby hostování vašeho serveru v cloudu.
Jakmile se zaregistrujete na vybrané hostitelské platformě, budete moci vytvořit nový server nebo virtuální počítač, kam umístíte svůj Server Express. Poskytovatelé hostingu obvykle nabízejí krok za krokem pokyny, jak nasadit váš server na jejich platformě.
Při nasazování serveru na skutečný hosting musíte vzít v úvahu několik důležitých věcí. Nejprve zkontrolujte, zda váš server používá správný port k poslechu dotazů. Ve většině případů se používá port 80 pro HTTP nebo port 443 pro HTTPS. Ujistěte se, že se připojení proxyuje na správný port v nastavení hostingové platformy.
Za druhé se ujistěte, že je váš Server Express nakonfigurován tak, aby zpracovával požadavky na správné trasy a dával správné soubory. Zkontrolujte, zda jsou všechny cesty k souborům a složkám správně nastaveny, abyste se vyhnuli chybám při načítání statických souborů nebo směrování dotazů.
Jakmile je váš server rozbalen na vybrané hostingové platformě, budete moci získat adresu URL vašeho serveru a začít jej používat ve svých aplikacích nebo jej sdílet s ostatními. Nezapomeňte zkontrolovat stav serveru na hostingu, abyste se ujistili, že všechny funkce fungují správně.
Nyní znáte základní kroky pro nasazení vašeho serveru Express na skutečný hosting. To vám umožní vytvořit funkční a dostupnou webovou aplikaci pro vaše uživatele.
Ochrana serveru
1. Aktualizujte závislosti: pravidelně kontrolujte nové verze Expressu a dalších balíčků, které ve svém projektu používáte. Aktualizace vám umožní získat nejnovější opravy a vylepšení zabezpečení.
2. Používejte hesla a šifrování: při vytváření autentizace na serveru použijte hashování hesel a šifrování dat k ochraně citlivých informací.
3. Zkontrolujte vstupy: vždy zkontrolujte vstupy získané od uživatele, abyste předešli případným útokům, jako je implementace kódu nebo injekce SQL.
4. Nastavte omezení: nastavte limity na velikost požadavků, abyste zabránili odesílání velkých souborů nebo požadavků, které mohou vést k odmítnutí služby.
5. Použijte připojení SSL: nakonfigurujte server tak, aby používal připojení SSL, aby byl zajištěn bezpečný přenos dat mezi serverem a klientem.
6. Omezte přístup k serveru: pomocí firewallů a dalších bezpečnostních opatření omezte přístup k vašemu serveru pouze pro důvěryhodné IP adresy nebo rozsahy IP adres.
Při dodržování těchto tipů budete moci vytvořit bezpečnější server připravený k ochraně před potenciálními hrozbami a útoky.