我使用的是html文件而不是ejs,但快递引擎是ejs
views
|
|--header.html
|--footer.html
|
|--index.html
我配置了
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
我通过以下方式呈现我的index
模板:
res.render('index.html', {title: 'test'});
但是如何在index.html中包含header和footer.html
类似的帖子 Node.js express: confuse about ejs template
现有示例无效 https://github.com/visionmedia/express/tree/master/examples/ejs
答案 0 :(得分:6)
你问的原始方法是使用partials。部分已被删除,并替换为EJS的include
功能。这就是你要包含文件的方式:
<% include header.html %>
<% include footer.html %>
您传递给呈现页面的任何本地人也将被传递给包含。例如:
<强> app.js 强>
app.get('/', function(req, res) {
res.render(__dirname + '/index.html', {
string: 'random_value',
other: 'value'
});
});
<强>的index.html 强>
<!DOCTYPE html>
<body>
<%= other %>
<% include content.html %>
</body>
<强> content.html 强>
<pre><%= string %></pre>
您得到的HTML是:
<!DOCTYPE html>
<body>
value
<pre>random_value</pre>
</body>