2013-12-11 8 views
0

Я использую Node.JS, Express и ejs. Я пытаюсь создать макет, который будет использоваться всеми моими представлениями. Я последовал за this answer, однако, похоже, он не подбирается. У меня есть каталог views с моими взглядами. В нем, у меня layout.ejs:Как получить узел для pickup на layout.ejs?

<!DOCTYPE html> 
<html> 
    <head> 
    <title><%= title %></title> 
    <link rel='stylesheet' href='/stylesheets/style.css' /> 
    </head> 
    <body> 
    <div id="content"> 
    <%- body %> 
    </div> 
    </body> 
</html> 

, а затем я мои index.ejs Вид:

<h1><%= title %></h1> 
<p>Welcome to <%= title %></p> 
<p>Testnet status: <%= testnet %></p> 

И тогда я сделать это так:

res.render('index', { title: r.name, testnet: r.testnet }); 

После делая это, хотя макет не подбирается. На экран отображается тэг <html>. Я даже попытался добавить это в свой app.js

, но это тоже не сработало. Как я могу отобразить мой макет?

ответ

2

Я думаю, что этот ответ относится к Экспрессу 2, который используется для поддержки макетов из коробки, если вы используете экспресс-3, обратите внимание, что макеты больше не включены в значение по умолчанию, вам нужно установить один из механизмов компоновки ,

используется для частичных и блоков из Джанго мира, я решил использовать ejs-locals, используя его ваши .ejs файлов будет начинаться с линией, как:

<% layout('layout') -%> 
Смежные вопросы