Шаблон для всех страниц (Layout)
В шаблонном движке ejs не предусмотрено создание общего шаблона для всех страниц. Чтобы это стало возможным, можно установить модуль ejs-mate.
npm install ejs-mate
Указывается модуль через метод app.engine()
.
var express = require('express'); var app = express; // подключение «ejs-mate» app.engine('ejs', require('ejs-mate')); // установка папки и движка шаблона app.set('views', 'views'); app.set('view engine', 'ejs');
Теперь надо создать файл, который будет шаблоном для всех страниц.
<!-- views/main.ejs --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><%= title %></title> </head> <body> <%- body -%> </body> </html>
Подключается данный шаблон в самом начале файла через метод layout()
.
<!-- views/about.ejs --> <% layout('main') -%> <p>Контент</p>
Поддержать автора