Q28: How do template engines (EJS, Pug, Handlebars) integrate with Express?

Difficulty:EasyTopic:Server Rendering

Template engines dynamically render server-side HTML files populated with backend data values.

Configuring EJS View Engine
const path = require('path');

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.get('/index', (req, res) => {
  res.render('index', { user: 'Alice', title: 'Home Page' });
});
💡 res.render compiles the named template file located in the views directory using local variables.
Key Takeaways
  • Configure engines using app.set('view engine', 'engine_name').
  • Express calls res.render() to inject data properties into rendered views.