2. února 2012 – Autor: Lee Jacobson

Úvod

Toto je první díl ze série návodů, které chci napsat o Node.js. Měl bych jasně říct, že nejsem žádný odborník na Node.js, ale dobrý způsob, jak si ověřit, že něčemu rozumíte, je zkusit to vysvětlit někomu jinému. Pokud uvidíte něco, co se vám nezdá úplně správné, dejte mi prosím vědět, abych mohl chybu opravit, určitě vám to připíšu.
Nedávno jsem se rozhodl naučit se Node.js kvůli jeho rostoucí popularitě. Odvětví programování se vyvíjí neuvěřitelně rychle a je nebezpečné zůstat pozadu. Učit se nové jazyky je důležité, protože pokud to neuděláte, pravděpodobně zůstanete pozadu a přijdete o práci. Vzpomeňte si na všechny ty flashové vývojáře, kteří už nemohou najít žádnou práci.
Začněme tedy trochou informací (blegh!).
Node.js je serverová verze jazyka JavaScript. To znamená, že zde platí všechny ty skvělé věci o JavaScriptu. Znamená to také, že pokud už JavaScript docela dobře znáte, budete mít příjemnou výhodu. Node.js je starý jen několik let a to znamená, že i lidé, kteří s ním pracují od samého začátku, ho používají teprve několik let. Srovnejte to s tím, jak dlouho někteří lidé píší v jazyce C. To, že je to tak nový jazyk, také znamená, že není mnoho lidí, kteří ho znají, a to z jednoduchého pravidla nabídky a poptávky znamená, že vaše dovednosti mají větší cenu než průměrný programátor PHP.

Vytvoření Hello World

Vytvořme Hello World. Nejprve přejděte na stránku http://www.nodejs.org a stáhněte si soubor node.js. Až bude nainstalován a připraven, vytvořte nový soubor JavaScriptu s následujícím příkazem:

console.log(„Hello World“);

Nyní soubor uložte, nazvěte jej nějak jako „hello.js“ a spusťte jej následujícím příkazem:

node hello.js

Tak by se vám v terminálu mělo objevit ‚Hello World‘. To je všechno dobré, ale jsem si jistý, že důležitější je, abyste věděli, jak vypsat ‚Hello World‘ na nová spojení HTTP.
Otevřete opět textový editor a napište:
Nyní soubor uložte a spusťte ho příkazem:

node hello.js

V terminálu byste měli vidět ‚Server spuštěn‘. Skvělé! Nyní otevřete webový prohlížeč a přejděte na adresu ‚http://localhost:8080‘, měli byste vidět zprávu ‚Hello World‘.
Podívejme se blíže na náš kód.
První řádek pouze získává modul http a ukládá jej do proměnné ‚http‘. Modul http je součástí Node.js, aby nám usnadnil vytváření aplikací Node.js.
Modul http pak můžeme použít k vytvoření našeho http serveru zavoláním jeho funkce ‚createServer‘. Tato funkce vrací objekt a v parametru přijímá funkci.
Na našem novém objektu serveru voláme funkci ‚listen‘, která přijímá číselnou hodnotu, která našemu serveru říká, na jakém portu má naslouchat. V našem případě používáme port 8080, proto jsme náš prohlížeč připojili na http://localhost:8080

Také vytvoříme funkci a použijeme ji jako parametr funkce ‚createServer‘. To je v JavaScriptu zcela standardní postup, protože funkce mohou být parametry stejně jako proměnné a objekty. Stane se to, že pokaždé, když náš server přijme nové spojení na portu 8080, spustí naši funkci, kterou jsme mu dali. Zajímavé je, že funkce, kterou mu předáváme, se nazývá anonymní funkce a říká se jí tak proto, že jí nedáváme žádné jméno.
Možná jste si všimli, že naše anonymní funkce přijímá dva parametry, ‚request‘ a ‚response‘. Tyto parametry předá naší anonymní funkci server HTTP, když obdrží nové spojení. Oba jsou objekty, které můžeme použít v naší odpovědi na příchozí požadavek.
Všimli jste si, že první věc, kterou děláme, je volání funkce ‚writeHead‘, která nám umožňuje nastavit stav HTTP jako první parametr a odeslat některé hlavičky odpovědi jako druhý parametr. Nastavujeme stavový kód 200, který našemu webovému prohlížeči říká, že je vše v pořádku, a také mu předáváme hlavičku ‚Content-Type‘, která našemu prohlížeči sděluje, co mu posíláme. V našem případě je to jen obyčejný text.
Dále použijeme objekt odpovědi pro zápis našeho ‚Hello World‘. Uděláme to tak, že jednoduše zavoláme jeho funkci write a předáme jí náš text. V tuto chvíli jsme s naší odpovědí hotovi, takže to objektu response řekneme zavoláním jeho funkce ‚end‘.

Zajímavější odpověď

Hello world je docela nuda, takže uděláme něco zábavnějšího. V Node.js můžeme velmi snadno vytvořit počítadlo uživatelů a nemusíme ani používat databázi, jako bychom to mohli udělat v PHP.
Vytvořte nový soubor JavaScriptu s názvem ‚counter.js‘ a zadejte následující příkaz:
Nyní jej spustíme příkazem:

node counter.js

Když přejdete v prohlížeči na adresu ‚http://localhost:8080‘, měli byste nyní zobrazit počítadlo.
Poznámka: Možná uvidíte, že se počítadlo při každém požadavku zvýší o dva, to proto, že váš prohlížeč požaduje favicon ze serveru (http://localhost:8080/favicon.ico).
Měli byste také vidět, že Node.js zaznamenává každý přijatý požadavek do konzole.
Hlavní věc, kterou zde děláme, je nastavení proměnné ‚userCount‘ a její inkrementace při každém požadavku. Poté zapisujeme ‚userCount‘ do textu odpovědi.
V PHP byste pro stejnou věc museli ukládat informace do něčeho, jako je textový soubor nebo databáze.

Tento návod je k dispozici také v čínštině: http://www.laonan.net/blog/63/
Děkuji laonanovi za překlad

Pokud se vám tento návod líbil, podívejte se na druhý díl, Node.js pro začátečníky – zpětná volání

Autor

Ahoj, jmenuji se Lee.
Jsem vývojář z Velké Británie, který miluje technologie a obchod. Zde najdete články a návody o věcech, které mě zajímají. Pokud si mě chcete najmout nebo se o mně dozvědět více, přejděte na stránku O mně

Sociální odkazy

Tagy

.