在Express中渲染玉时包含其他文件的内容?

时间:2012-01-28 19:58:38

标签: node.js include express pug

我有以下layout.jade:

!!!
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
  });
});

但它给出了SyntaxError:'content'处的意外标识符。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

您必须呈现内容(正文)文件,而不是布局。使用布局:true param(默认情况下,我认为)jade会自动使用layout.jade来渲染" frame"您的页面,然后在body变量中提供您的内容,传递给布局(请参阅Expres doc)。这样:

res.render('content');

应该做的。