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が、機能しません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 に答える