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.