Skip to content

templating

Jeannet Welboren edited this page May 25, 2023 · 9 revisions

Templating

Met een templating engine kan je dynamische HTML-pagina's kunt maken. Je maakt herbruikbare pagina's die je in een document kan aanroepen. Dit zorgt ervoor dat je niet alles met de hand moet aanpassen als je een kleine aanpassing hebt wat op elke pagina moet gebeuren. Het is een eenvoudige manier om stukken code die wordt hergebruikt centraal te zetten en om te aanpassen.

EJS

EJS is een templating engine dat JavaScript gebruikt. Door middel van <% %> te gebruiken kan je delen van je code aanroepen. Hierdoor maak je het makkelijker om stukken code in te laden. Het kan zowel aan de server-side als aan de client-side worden gebruikt.

Voorbeeld

<ul>
  <% users.forEach(function(user){ %>
    <%- include('user/show', {user: user}); %>
  <% }); %>
</ul>

Handlebars

Handlebars is net zoals EJS een templating engine. Alleen deze heeft een andere manier van werken. Ze gebruiken hiervoor de {{ }} om het te gebruiken. Je kan net zoals in JavaScript een {{#if}} en {{#each}} toevoegen aan je document. Net zoals bij EJS kan zowel aan de server-side als aan de client-side worden gebruikt.

Voorbeeld

<p>{{firstname}} {{lastname}}</p>

Gekozen Templating engine

Als templating engine heb ik gekozen voor EJS en niet handlebars. De grootste reden hiervoor is dat ik tijdens mijn stage gebruik heb gemaakt van Twig (Twig is a modern template engine for PHP) en dat lijkt heel veel op Handlebars. Daardoor ben ik bang dat ik die 2 door elkaar ga halen en het te verwarrend wordt voor mij.Daarnaast weet ik ook dat mijn Back-end development docent Ivo meer verstand heeft van EJS en dat als ik vast loop ik daar makkelijker vragen over kan stellen. Daarnaast leek mij het gebruik ervan niet al te lastig en best aantrekkelijk aangezien je alleen de <%= gebruikt en een aantal andere variaties daarvan.

Aangezien ik al een beetje ervaring heb met een andere templating engine denk ik dat ik het wel onder de knie ga krijgen naar een paar videos en voorbeelden te kijken. Ook zag ik dat voornamelijk javaScript is en het samen werkt met express en ik dat gebruik lijkt het mij een verstandige keuze. Er is ook een GitHub voor issues waar ik ook nog doorheen kan kijken als ik vast loop.

Clone this wiki locally