Tento dokument môže byť v porovnaní s dokumentáciou v angličtine zastaralý. Aktuálne informácie nájdete v dokumentácii v angličtine.

Použitie template enginov v Express

Template engine umožňuje použitie statických template súborov vo vašej aplikácii. Template engine nahradí v runtime premenné aktuálnymi hodnotami a pretransformuje template do HTML súboru poslaného klientovi. Tento prístup robí návrh HTML stránok jednoduchším.

Medzi populárne template enginy fungujúce s Express patria Jade, Mustache a EJS. Express generátor požíva ako defaultný Jade, avšak podporuje aj mnohé ďalšie.

Zoznam podporovaných template enginov nájdete tu: Template Engines (Express wiki). Pozrite si taktiež Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More.

Aby Express dokázal spracovať a vyrendrovať template súbory, musí aplikácia obsahovať nasledujúce nastavenia:

Potom nainštalujte vybraný template engine ako npm dependenciu. Napr. pre inštaláciu Jade spustite:


$ npm install jade --save

Templatovacie enginy kompatibilné s Express ako napr. Jade exportujú funkciu __express(filePath, options, callback), ktorá je volaná pomocou res.render() funkcie k vyrendrovaniu template kódu.

Niektoré template enginy používajú inú konvenciu. Consolidate.js knižnica mapuje konvencie všetkých populárnych Node.js template enginov tak, aby bezproblémov fungovali s Express.

Nastavenie parametra view engine zabezpečí, že nie je potrebné špecifikovať engine, ani načítať modul template enginu vo vašej aplikácii; Express načíta tento modul interne, ako je (pre príklad hore) zobrazené nižšie.


app.set('view engine', 'jade');

Vo views priečinku vytvorte Jade template súbor s názvom index.jade s takýmto obsahom:


html
  head
    title= title
  body
    h1= message

Potom zadefinujte route pre rendrovanie index.jade súboru. Ak view engine parameter nie je nastavený, musíte špecifikovať príponu vášho view súboru. V opačnom prípade ju špecifikovať netreba.


app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
});

Po vykonaní requestu na hlavnú stránku, sa súbor index.jade vyrendruje ako HTML.

Pre viac informácií ohľadom fungovania template enginov v Express si prečítajte: “Vývoj template enginov pre Express”.