Nikdy nevíš, kdy to přijde
Zobrazit menu   MENU

2. Hello world!

V druhém díle našeho Node.js tutoriálu si konečně vyzkoušíme napsat svůj první kód. Abychom mohli programovat, budeme potřebovat i nějaký textový editor nebo vývojové prostředí (IDE). Teoreticky nám postačí i Poznámkový blok z Windows, takový vývoj ale nebude zrovna komfortní. Aktuálně si můžeme vybírat z velkého množství editorů, některé slouží k programování obecně, jiné jsou zaměřené speciálně na JavaScript nebo přímo na Node.js. Za sebe Vám doporučím Sublime Text, který se k programování v Node.js hodí výborně a nevyžaduje žádnou vstupní investici.

A nyní hurá na svůj první kód. Nemůže to být samozřejmě nic jiného než profláknuté Hello World!. Nejdříve si ukážeme kód, který si následně detailně projdeme.

const http = require('http');

const host = '127.0.0.2';
const port = 2222;

const server = http.createServer((request, response) => {
response.statusCode = 200;
response.setHeader('Content-Type', 'text/html');
response.write("Hello World!");
response.end();
});

server.listen(port, host, () => {
console.log('Bezi server ' + host + ":" + port);
});


Základem je modul http, což je vlastně webový server, který ale musíme narozdíl od PHP sami spustit. Pomocí http modulu můžeme pracovat se vším co na server přichází i odchází, detailní popis můžete najít v oficiální dokumentaci. Vytvoříme si tedy proměnnou http, kterou budeme dále využijeme k vytvoření serveru.

Dále si musíme stanovit adresu a port, na kterém náš server poběží. Nyní si můžeme vytvořit náš server pomocí metody createServer(). Server má callback, který je volán při každém jednotlivém požadavku. Základním parametry pro callback jsou request - objekt pro práci s požadavkem na server a response sloužící naopak k odpovědi ze serveru.

V samotném těle této anonymní funkce se pak odehrává celé divadlo. V našem příkladu pracujeme pouze s objektem pro odpověď, kterému nastavíme StatusCode na 200 (stav vše v pořádku), dále Content-Type na text/hml, který prohlížeči říká, že navracíme html kód. Nyní přejdeme k samotnému výpisu dat, který řeší metoda write(). Té můžeme předat naše výstupní HTML, a to klidně opakovaně. Na závěr musíme zavolat metodu end(), které můžeme taktéž předat výstup jako u write(). Zavolání end() serveru říká, že již všechny hlavičky a tělo odpovědi byly odeslány. End() musí být zavolána na konci každé odpovědi.

Na závěr náš server nastartujeme pomocí metody listen(), které předáme adresu a port, na které má náš server běžet. Uvnitř té ještě vypíšeme kontrolní potvrzení o běhu. Nyní můžeme celý soubor uložit jako hello.js.


Pracujeme s Node.js z příkazového řádku

Pojďme si to vyzkoušet, ale... budeme potřebovat příkazový řádek. Pokud na něj nejste zvyklý, bude se vhodné naučit alespoň základy, protože v Nose.js s ním budeme často pracovat.

V příkazovém řádku nalistujeme do adresáře ve kterém máme náš soubor uložený a poté ho spustíme příkazem:

node hello.js

Pokud jste udělali vše správně, odměnou vám bude text informující o běžícím serveru:

Bezi server 127.0.0.2:2222

Nyní přejdeme do prohlížeče který používáme a zadáme adresu http://127.0.0.2:2222/. Na výstupu uvidíme náš první Hello World!. Pokud budeme chtít nás server ukončit v příkazovém řádku s běžícím serverem stiskneme klávesovou zkratku ctrl + c.

Dnes jsme si vyzkoušeli napsat a spustit svoji první aplikaci v Node.js. Příště se však opět vrátíme k troše teorie a povíme si o balíčkovém systému npm, bez kterého se v Node.js neobejdeme.


Další díly tutoriálu

1. Co je to Node.js + instalace
2. Hello world!
3. Balíčkovací systém NPM + package.json
4. Co je to REST API