В Express / EJS, как мне изменить макет по умолчанию? - PullRequest
12 голосов
/ 22 июля 2011

Я не хочу, чтобы это был layout.ejs.

Я хочу установить свой макет в качестве другого шаблона для ЭТОГО конкретного контроллера.

Ответы [ 4 ]

18 голосов
/ 22 июля 2011

Попробуйте использовать:

app.set("view options", { layout: "mylayout.jade" });
11 голосов
/ 22 июля 2011

Используйте параметр layout для res.render()

res.render('page', { layout: 'mylayout.jade' })
4 голосов
/ 03 марта 2014

Если вы используете модуль Ejs-express-layouts , вы можете указать макет для конкретного представления, переопределяя значение по умолчанию:

app.get('/', function(req, res){
  res.render('aView', { layout: 'someSpecificLayout' })
})
1 голос
/ 14 сентября 2018

Установить пользовательский макет по умолчанию

Просто установить свойство макета в настройках приложения Express.

app.set('layout', 'layouts/layout');

Установить пользовательский макет для одного рендера

Просто передать макет как объект локальных рендеров.

app.get('/', function(req, res) {
  res.render('the-view', { layout: 'specific-layout' });
);

Подробнее здесь: https://www.npmjs.com/package/express-ejs-layouts

...