Express.js
Beginner
1 min read
Setting Up a Template Engine
Example
// npm install pug ejs
const express = require('express');
const path = require('path');
const app = express();
// ── Pug engine setup ──────────────────────────────────────────
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, 'views'));
// views/index.pug
// html
// head
// title= title
// body
// h1 Hello #{user}!
// ul
// each item in items
// li= item
app.use((req, res, next) => {
res.locals.appName = 'My App'; // available in every template
next();
});
app.get('/', (req, res) => {
res.render('index', {
title: 'Home',
user: 'Alice',
items: ['Apple', 'Banana', 'Cherry'],
});
});
// ── Switch to EJS ─────────────────────────────────────────────
// app.set('view engine', 'ejs');
// views/index.ejs:
// <h1>Hello <%= user %>!</h1>
// <% items.forEach(i => { %><li><%=i%></li><% }); %>
app.listen(3000);
Related Resources
Express.js Reference
Complete tag & property list
Express.js How-To Guides
Step-by-step practical guides
Express.js Exercises
Practice what you've learned
More in Express.js