EJS (Embedded JavaScript) ist eine einfache Template-Engine für Node.js, mit der sich HTML-Seiten direkt aus JavaScript-Code erzeugen lassen. Der Name steht für „Effective JavaScript“: EJS will keine eigene Template-Sprache erfinden, sondern nutzt die vertraute JavaScript-Syntax für Ausgaben, Schleifen und Bedingungen.

Syntax im Überblick

<%= variable %>      <!-- escaped Ausgabe -->
<%- rohesHtml %>     <!-- unescaped Ausgabe -->
<% if (x) { %> ... <% } %>  <!-- JavaScript im Template -->
<% include('header') %>   <!-- Partial einbinden -->

Erste Schritte

npm install ejs
node -e "console.log(require('ejs').render('<h1><%= name %></h1>', {name: 'Hanse'}))"

Praxis-Tipps

  • Express-Integration: app.set('view engine', 'ejs') macht EJS zur Standard-Template-Engine von Express-Anwendungen.
  • Partials: Mit <%- include('header') %> lassen sich Kopf- und Fußzeilen wiederverwenden — wie bei PHP-include.
  • Layouts: EJS selbst kennt keine Vererbung, Layouts lassen sich aber über Partials oder zusätzliche Layout-Manager nachbauen.
  • Sicherheit: <%= %> escaped automatisch; <%- %> gibt Roh-HTML aus und ist nur für vertrauenswürdige Inhalte gedacht.

Verwandte Grundlagen: JavaScript-Befehle sowie die Schwester-Engines Jinja-Befehle und Twig-Befehle.