2013-12-11 32 views
0

我正在使用Node.JS,Express和ejs。我正在嘗試創建一個佈局以供我的所有視圖使用。我跟着this answer,但它似乎沒有被拾起。我的視圖有views目錄。在這裏面,我有我的layout.ejs:如何讓節點在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

app.set('view options', { layout: true }); 

但這也沒有工作。我怎樣才能讓我的佈局呈現?

回答

2

我想這個答案是指用於支持開箱即用的佈局的Express 2,如果您使用Express 3,請注意佈局不再包含在默認設置中,您必須在其中安裝一個佈局引擎。

用於局部和Django的世界塊,我已經決定使用ejs-locals,使用它你.ejs文件將不得不開始像一條線:

<% layout('layout') -%>