3

我将ejs模板文件放在如下文件views夹中:

views
|
|--foo.html
|
|--layout.html

所以我配置了我的 ejs 模板:

app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);  

我通过以下方式渲染我的foo模板:

res.render('foo.html', {title: 'test'});

我想用layout.html作主布局模板,我也在 中添加<%- body%>标签layout.html,但不起作用,我看到的只是返回 end foo.html

为什么layout.html不能是主布局?或者我怎样才能将它设置为主布局?

4

2 回答 2

3

啊,你刚刚被 Express 3 在布局管理中的更改所欺骗。官方示例:https ://github.com/visionmedia/express/tree/master/examples/ejs 尚未更新。

在 Jade 中,您现在必须使用块并扩展布局。 http://www.devthought.com/code/use-jade-blocks-not-layouts/

于 2012-08-17T06:37:36.027 回答
2

尝试使用 ejs-locals 然后您可以在 login.ejs 文件中执行此操作:

<% layout('layout') -%>
<form></form>
于 2012-09-23T18:37:03.853 回答