Začínáme s Express.js

Jan 30, 2026
jak
Get started with Express.JS

Vytvoření aplikací směřujících k prohlížeči s node.js dostane únavné. Express.js. je JavaScript rámec Zaměstnaní jedno-stránkových a vícestránkových aplikacích hostovaných v prostředí UnERE.JS.

  • 29 Web Design nástroje pro urychlení pracovního postupu

Poskytuje tenkou vrstvu fundamentálních webových funkcí webových aplikací, které nebude zakryt node.js funkce, se kterou jste již obeznámeni, takže si můžete být jisti, že vaše hotová aplikace bude až po stírací výkon-moudrý. A je také skvělé pro vytváření robustních API, díky zásobníku HTTP utility metod a middleware připravené k použití.

Pokud chcete méně složitou volbu, můžete vytvořit stránku bez kódování s Webové stránky Builder. . Ať tak či onak, ujistěte se, že dostanete web hosting Servisní právo. Chcete začít? Zde je to, co potřebujete vědět o Express.js.

01. Generovat funkční strukturu

Get started with Express.JS: Generate a workable structure

Zavést správné pracovní možnosti, jak začít

Express.js se pyšní v tom, že "neopevněná" - to znamená, že rámec umožňuje vývojářovi míchat a shodovat se z hlediska architektur, templementačních a značkovacích motorů. Bohužel, s velkou silou přichází velká zodpovědnost.

Developerský tým Express se snaží zmírnit úder zavedením generátoru projektu (pokud navrhujete podél týmu, nasadíte to nejlepší cloudové úložiště udržet věci soudržné). Jedná se o vaši pracovní stanici ve formě balíčku NPM a pomůže naše experimenty s následujícím rámcem:

 Tamhan @ Tamhan-ThinkPad: ~ / Desktop /
Stuff / 2018Aug / FutureExpressJs /
Workspace $ Sudo NPM Instalovat
Expresní generátor -g 

Generátor také obsahuje desítky možností projektu - obrázek doprovázející tento krok ukazuje výstup plný nápovědu. Pro jednoduchost, budeme se omezit na projekt založený na výchozím nastavení. Kick z procesu generování pomocí:

 Tamhan @ Tamhan-ThinkPad: ~ / Desktop /
Stuff / 2018Aug / FutureExpressJs /
Workspace $ Express Futuretest 

VAROVÁNÍ: Výchozí zobrazení Engine nebude v budoucích verzích jade.

Po dokončení aktuální pracovní adresář obsahuje novou složku nazvanou 'Futuretest'. Je domovem našeho testovacího projektu a musí být nakonfigurován pomocí příkazu stahování balíčků NPM. V době psaní, generátor zahrnuje generátor Jade Zobrazit - projekt plánuje změnit to v blízké budoucnosti, povinnost vás projít v parametru výběru zamýšleného motoru zobrazení. Alternativně požádejte o použití Mopsu - je to oficiální nástupce Jade Engine:

 CD Futuretest /
NPM Instalovat 

02. Rozumět struktuře aplikace

Nyní, když generátor projektu udělal svou věc, dovolte nám otevřít app.js v editoru volby. Jeho - mnohem zkrácená struktura představuje následující následující:

 var indexrouter = Vyžadovat ('./
trasy / index ");
var userSrouter = Vyžadovat ('./
trasy / uživatelé);
var app = express ();
// zobrazení nastavení motoru
app.set ('Zobrazení', path.join (__
DIMNAME, "zobrazení");
App.Set ('View engine', 'jade');
app.Use (logger ('dev'));
App.Use (Express.json ());
app.use (express.urlencoded ({
rozšířené: false});
app.Use (cookieparser ());
App.Use (Express.static (cesta.
Připojte se (__ DIRNAME, "veřejnost")); 

Express.js je vysoce modulární. App.JS slouží jako vstupní bod, kde jeden nebo více funkcí "POUŽITÍ ()" POUŽITÍ) umožňují přidání komponentů určených pro zpracování různých požadavků. Navrácení "SET ()" vám umožní upravit parametry v motoru - z nichž jeden je instalace motoru Jade Zobrazit v předchozím kroku.

Skutečná emise webového obsahu probíhá v třídách routeru. Pro stručnost, pojďme omezit sami index.js:

 var express = požadovat ("express");
var router = express.router ();
router.get ('/', funkce (req, res,
další) {
  RES.RENDER ('index', {titul:
"Express"});
});
modul.exports = router; 

'Get ()' je vybaveno řetězcem odpovídající a obslužný program události, který se vyvolává, kdykoli se vyskytne odpovídající událost. V našem případě je metoda vykreslení zvoleného motoru šablony vyprávět vrátit obsah do prohlížeče uživatele, který se přihlásil.

03. Spusťte webovou stránku

V tomto okamžiku jsme připraveni vzít na webové stránky poprvé. Vraťte se do terminálu obsahujícího instalaci Express.js a zavolejte na NPM Start s nastavením příznaku ladění:

 Debug = MyApp: * NPM Start 

Při hotovosti zadejte http: // localhost: 3000 / do prohlížeče volby se podívat na lešení vytvořené generátorem projektu. Při hotovosti stiskněte Ctrl. +. C Chcete-li zavřít okno a vrátit ovládání příkazového řádku tlumočníka - mějte na paměti, že to také zavře webový server ladění.

04. Je to všechno o směrování a koncových bodech

Get started with Express.JS: Routing and endpoints

Seřadit správné vstupní body, přidat nové trasy a zavést regulární podporu výrazu

V zájmu jednoduchosti souhlasíme s tím, že webová aplikace je obvykle tvořena posloupností vstupních bodů. Express.js zpracovává je přes třídu směrovače - Přemýšlejte o tom jako repozitář metod, které se nazývají v reakci na příchozí žádost.

Přidání nového koncového bodu k aplikaci je dosaženo přidáním nového pracovního pracovníka do fronty. Náš příklad Auto-generovaný příklad vytváří dva typy směrovače, z nichž každý je zvýšen pomocí metody "Vyžadovat":

 var indexrouter = Vyžadovat ('./
Trasy /
index');
var userSrouter = Vyžadovat ('./
Trasy /
uživatelé; 

V dalším kroku, app.Use 'registruje směrovače a připojuje je k řetězci požadavků. Náš kód dále přidává popisovač chyb, který dostane vyvolaný, pokud je do systému zadána neexistující adresa URL:

 App.Use ('/', indexruster);
App.Use ('/ Users', Userseter);
App.Use (funkce (req, res, další)
{
  další (CreatError (404));
}); 

05. Vytvořte novou trasu

Otevřené uživatele.js a upravte svůj kód níže:

 Router.GET ('/ User1', funkce (req,
res,
další) {
  res.send ('budoucnost říká hello
1 ');
});
router.get ('/', funkce (req, res,
další) {
  res.Send ('odpověď s
zdroj;
}); 

Přidání nových tras pro Express.js je mechanický proces. Uchopte cílový objekt volby a vyvolejte metodu odpovídající slovesu HTTP, který chcete zvládnout. Dále projít v řetězci, který bude přidán do 'ofset' registrovaný s 'app.Use'. Od té chvíle, jak http: // localhost: 3000 / uživatelé / user1 a http: // localhost: 3000 / uživatelé / vrátit platnou odpověď.

Mějte na paměti, že Express.js není omezen na manipulaci 'Get' zdroje. 'Post ()' ',' dut () 'a' DELETE () 'zvládněte tradiční čtyři požadavky HTTP, s desítkami dalších metod slovesa stravuje na neobvyklé potřeby. A konečně, objekt "Req" poskytuje přístup k záhlaví požadavku - dejte jej k dobrému použití při analýze parametrů nebo informace klienta.

06. Pokročilé přizpůsobení

Přidání tras ručně dostane únavné jako programová složitost roste. Express.js za to pro tento problém zajišťuje zavedením zástupného a regulárního výrazu. Podívejte se například na následující deklaraci, které používá regulární výraz, který odpovídá různým řetězci obsahujícím pes sekvence znaků.

 app.get (/.* pes $ /, funkce (req,
res) {
  ...}) 

07. Abnormální směrování

Při manipulaci se čtyřmi požadavky HTTP by mělo být dost pro každého (klobouk tip na Bill Gates), Express.js může také pracovat s dalšími protokoly. Express-ws. Je obzvláště chutný kandidát na tuto sekci - rozšiřuje dosah Express.js, aby zahrnoval webovou komunikaci.

Jakmile je plugin přidán do projektu Hlavní Express.js, což umožňuje provádět pomocí "Vyžadovat" volání. Vrátí pomocný objekt obsahující všechny kromě jedné metody - zavolá, aby navázala spojení mezi směrovačem a pluginem:

 var expressws = požadovat ("express- \ t
WS ')
aplikace);
Poté může být vyvolána nová metoda zvaná "WS ()", která přidává nové trasy založené na technologii webového styku:
app.ws ('/', funkce (ws, req) {
  WS.ON ("Zpráva", funkce (msg)
{
    console.log (msg);
  });
  console.log ('socket', req.
testování); }); 

Jejich prototyp se liší od normálních tras v důsledku přítomnosti objektu "WS" - poskytuje přístup k podkladové instanci webu připojené k klientovi odpovědnému za připojení.

08. Integrovat databáze a templomatické motory

Get started with Express.JS: Integrate databases and templating engines

Ujistěte se, že používáte sílu bohatého modulu pluginového ekosystému

Být založen na node.js znamená, že bohatý plugin ekosystém je na vašem příkazu při práci na webových aplikacích. Například, přístup k databázím SQL a NOSQL - obvykle mimořádně únavný úkol - lze řešit pomocí pluginů poskytnutých dodavateli databáze. Skutečné nasazení je stejně snadné jako instalace potřebného modulu NPM - Pokud má váš kód přistupovat k databázi RedIS, jednoduše přidejte následující:

var redis = požadovat ('redis')
var client = redis.createClient ()
Klient.set ('Stringkey', 'AVAL',
redis.print)
. . . 

Samozřejmě podporuje také v paměti SQLite:

 var sqlite3 = požadovat ("sqlite3").
podrobný ()
var db = nový sqlite3.
Databáze (': paměť:')
db.Serialize (funkce () {
  db.run ('Vytvořit stůl Lorem
(Info Text) ') 

Mějte na paměti, že integrace node.js není omezena na databázové pluginy. Dobrodružné vývojáři by mohli jít až do zahrnutí produktů, jako je Tessel, čímž vytváří webové aplikace, které mohou také komunikovat Internet věcí zařízení.

09. Šablona ve stylu

Jedna oblast, kde se jednoduché a reálné programy liší, je vytvoření názorů. Zatímco malý příklad projektu obvykle používá ruční řemeslné struny, montáž velkého řádků HTML s řetězcem spojených věcí je velmi nepříjemné.

Motory šablony poskytují úhledné řešení. Umožňují vytvoření předdefinovaných souborů schématu, které mohou být naplněny programově při provádění.

V případě našeho příkladu, zobrazení ležely v .jade soubory. Otevření indexu odhaluje následující strukturu:

 Rozšiřuje uspořádání
Obsah bloku
  H1 = titul
  p Vítejte na # {titul} 

Výrazy uzavřené v kudrnatých závorkách fungují jako pole šablony, jejichž hodnoty mají být nahrazeny za běhu. Index.js vyvolá vykreslení s objektem parametrů, což vede k vykreslování počáteční stránky zobrazené na obrázku doprovázejícího tento krok:

 Router.get ('/', funkce (req, res,
další) {
  RES.RENDER ('index', {titul:
"Express"});
}); 

Většina templomatických motorů může také analyzovat pole, pokud je opatřena šablonou položky. V tomto případě je každá řada pole zobrazen s jednou instancí modelu DOM - podobnosti se seznamem seznamu zobrazení nalezených v Androidu jsou čistě náhodné. Express.js není omezen na předdefinované templomatické motory. Měli byste se cítit, že z nějakého důvodu vyrábíte své vlastní své vlastní, jednoduše postupujte podle kroků tady - V zásadě musíte přepsat všechny kromě jedné funkce.

10. Zpracovávejte statický obsah

Express.js aplikace mají tendenci obsahovat CSS soubory a obrázky. Slouží je prostřednictvím funkce vykreslování je neefektivní - chytřejší způsob by je zapojil odesílání na jejich veselý způsob s tradičním požadavkem HTTP. Toho lze dosáhnout pomocí funkce "Express.Static ()", která může označit celé složky pro export:

 App.Use (Express.static ("veřejná"))
App.Use (Express.static ('soubory')) 

11. Změňte tok události

Nakonec nám dovolte zmínit termín middleware krátce. V Express.js Parlance, Middleware je souborem jedné nebo více komponent, které se integrují do vývojového diagramu znázorněného naproti. Mohou být pak použity k úpravě požadavků, protože projdou směrování systému - při správném provedení lze dosáhnout neomezené funkce.

Dále lze nalézt některé komponenty připravenosti tady - Navštivte tuto stránku před zahájením rozsáhlého vývojového projektu.

12. Jak hostit Express.js App

Get started with Express.JS: How to host an Express.JS app

Zvažte platformy, kde můžete hostit své nové stvoření

Aplikace založené na testování Express.js je snadné. Problémy se vyskytují, jakmile chcete stránku přístupná třetím stranám - kvůli tomu, že je generována prostředí node.js, neexistuje způsob, jak získat statický obraz přizpůsobit pro nasazení FTP na web hosting služby.

Teoreticky neexistuje nic proti použití malinového pI, oranžového oranžového, vyhrazeného serveru nebo virtuálního počítače pronajatého z cloudové služby nebo poskytovatele webového hostitele, který nabízí virtuální hostování. Nicméně, pronájem plného virtuálního počítače vás může zátěžovat s odpovědností při zachování prováděcího prostředí a operačního systému aktuální.

Pokud tento úkol není podle vašeho chuti, může být poskytovatel platformy as-A-Service atraktivnější (i když ve většině případů, docela drahé) volby.

Mnoho vývojářů zvážit Heroku, s jeho cenou ukázanými na obrázku doprovázejících tento boxout, být zlatý standard pro všechny věci, které se vztahují k node.js hosting.

To je však trochu nespravedlivé v pravdě - Amazon's Elastic Beanstalk, Google Cloud platforma a Azure Microsoft poskytují podobnou podporu pro vzdálené provedení UnERE.js-založené užitečné zatížení. Ve všech těchto systémech je hlavní problém manipulace - zatímco Azure je známý svým pomalým nasazením, dalšími poskytovateli břemencí vývojáři s obtížně používat back-end služby extrémně složitých konfiguračních systémů.

Podporovaná verze prostředí Node.js se dále liší od poskytovatele k poskytovateli. Samozřejmě nemáme dostatek místa na pokrytí tématu do hloubky. Návštěva Výukový program nasazení Mozilly a express.js ' výkon a spolehlivost a bezpečnostní Stránky osvědčených postupů pro některé z těchto problémů. Ujistěte se, že se podíváme na dokumentaci Poskytovatele, abyste mohli sbírat více osvědčených postupů.

13. Vaše aplikace pro budoucnost

Get started with Express.JS: Future-proof your applications

Je třeba poznamenat řada nových dodatků

Vývojový cyklus Express.js je zdaleka hladký: Vývojáři jsou dobře známí pro časté změny API vyžadující přepíše kód klienta. Přepínač z 3,X až 4.x byl obzvláště bolestivý, což je důvod, proč hrozící uvolnění 5.x může opustit poměrně málo z vás nepohodlné.

Zatímco Express.js 5.0 přináší několik změn v rozbití, jejich dopad je omezenější. Za prvé, sada již odpisovaných funkcí je odstraněna pro Real - Pokud je kód stále používá, upgrade na 5.x vyžaduje údržbu.

Návrháři vidění motorů je třeba zkontrolovat, res.Render (): 'Růst Růst v souvislosti s názorem Renderers, který vedl k některým synchronním implementacím uklouznou. Verze 5 rámce zvyšuje výkon tím, že vynucuje asynchronní vykreslování.

Kromě toho, soubor různých vylepšení a změn dokumentovaných tady Vidí návrat některých zaniklinných funkcí z předchozích verzí - navíc některé dlouhodobé chyby budou opraveny v novém vydání.

Nakonec si uvědomte, že již můžete zkusit novou verzi. Jednoduše vytvořit kopii zdrojového kódu, chytit terminál a zadat následující příkaz ke stažení archivu sotva testovaného krvácení javascriptu. Být v bezpečí.

 $ NPM Instalace express @ & gt; = 5.0.0-
Alpha.1 --Save 

Tento článek byl původně publikován v čísle 279 tvůrčího webového designu časopisu Web Designer. Prodám vydání 279 zde nebo Přihlásit se zde web designer zde .

Související články:

  • Vše, co potřebujete vědět o nových node.js 8
  • 20 modulů node.js, které potřebujete vědět
  • 25 nástrojů pro měnící se herní javascript

jak - Nejoblíbenější články

Listy znaků pro 3D Modellers: 15 Top tipů

jak Jan 30, 2026

(Image Credit: Dahlia Khodur) Listy jsou řádem dne v tomto tutoriálu, který pokrývá, jak vytvářet jeden pro 3..


Vybudujte SEO-Friendly Head Component pro NextJs / Reagujte

jak Jan 30, 2026

(Image Credit: negativní prostor na pexels) Zatímco reaguje je mocná knihovna JavaScriptu, nezahrnuje všechny kus..


Sestavte blog s mřížkou a flexboxem

jak Jan 30, 2026

Poslední dva až tři roky viděly rozložení pohybu vchodem v míchech a mezích. Nyní, když tyto moderní techniky mají ta..


10 Pravidla pro výrobu uživatelsky příjemných webových formulářů

jak Jan 30, 2026

Navzdory vývoji interakce s lidmi-počítačové počítače stále zůstávají jedním z nejdůležitějších typů interakce..


Vytvořit reagující uspořádání s CSS Grid

jak Jan 30, 2026

Rozložení mřížky CSS Každý den roste v podpoře prohlížeče a můžeme loď CSS mřížku na výrobu. Rychl�..


Jak ovlivnit pořadí Google s obsahem

jak Jan 30, 2026

Váš obsah jdou nikde, pokud to lidé mohou hledat a najít, takže obsah by měl být napsán s pochopením faktorů, jako je S..


Strategie uživatelských uživatelů

jak Jan 30, 2026

UX strategie je proces, který by měl být zahájen před navrhováním nebo vývojem digitálního produktu. Je to ..


Vytvořit herní prostředí v neskutečném motoru 4

jak Jan 30, 2026

Použití mého neskutečného motoru 4 Projekt Poslední zastávku jako příklad, chci vám ukázat nějaké důležité kroky,..


Kategorie