Node.JS 4: Funkční server

V minulé epizodě jsme si ukázali dělení modulů v JS, které nyní využijeme pro tvorbu vlastního serveru.

Abychom mohli vytvořit HTTP server, budeme muset použít vestavěný modul http. Určíme číslo portu, na který chceme server napojit. Osobně používám čísla jako 8888, 8080 nebo 3000, v zásadě je ale důležité, aby se jednalo o jakékoliv čtyřmístné. Pokud program stéle nebude fungovat, pravděpodobně jste narazili na port, který je už jinou službou obsazený a musíte si nadefinovat jiné číslo.

const http = require('http');
const PORT = 8080;

Nyní si vytvoříme samotnou funkci libovolného jména (já si zvolím main), jež řídí server:

function main(req,res) {
    res.writeHead(200, {"Content-Type":"text/plain"});
    res.end("Hello, World!");
}

Funkce writeHead obsahuje dva parametry - číslo 200 indikuje, že stránka je v pořádku (pokud bychom chtěli navazujícímu kódu sdělit, že stránka je rozbitá, zvolíme 404), "Content-Type" rozhoduje o tom, zda-li se zadaná hodnota bude zobrazovat jako obyčejný text nebo např. jako html kód ( v takovém případě by platilo {"Content-Type":"text/html"}). Podobně jako v JS můžeme ukončit příkaz slovíčkem break, tak v Node.JS naši funkci uzavíráme res.end().

Přestože jsme napsali kód pro server, sám server není nijak napojen na port. S portem jej provážeme pomocí listen(). Výsledný odkaz na server si vypíšeme do konzole pomocí console.log().

let srv = http.createServer(main);
srv.listen(PORT);

console.log("Server běží na adrese http://localhost:" + PORT );