我使用的是html文件而不是ejs,但快递引擎是ejs
views | |--header.html |--footer.html | |--index.html
我配置像
app.set('views',__dirname + '/views'); app.engine('html',require('ejs').renderFile);
我通过这个渲染我的索引模板:
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
解决方法
你问的原始方法是使用partials.部分已被删除,并替换为EJS的包含功能.这是你如何包含一个文件:
<% 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>
你得到的结果是:
<!DOCTYPE html> <body> value <pre>random_value</pre> </body>