2012-01-28 48 views
1

我有以下layout.jade:在Express中渲染玉石時包含其他文件的內容?

!!! 
html 
    head 
    title= title 
    link(rel='stylesheet', href='/stylesheets/style.css') 
    body!= body 

在身上,我想包括另一個文件的內容,content.jade。

我想這樣的事情在app.js:

app.get('/test', function(req, res){ 
    res.render('layout', { 
    layout: false, 
    body: include content.jade 
    }); 
}); 

但它提供了語法錯誤:在「內容」意外的標識符。有沒有辦法做到這一點?

回答

4

您必須渲染您的內容(正文)文件,而不是佈局。使用佈局:true param(我認爲這是默認參數),jade會自動使用layout.jade渲染頁面的「框架」,然後將您的內容提供給body變量,傳遞給佈局(請參閱Expres doc) 。所以:

res.render('content'); 

應該做的工作。