9
A
回答
3
如果我没有记错的话,Express.js会留下模板引擎。所以如果ejs不支持布局,那么你运气不好。
5
你可以用这个模块做...
https://github.com/aseemk/express-blocks
layout.ejs
<html>
<body>
<% include nav %>
<h1><%= title %></h1>
<%- body %>
</body>
</html>
login.ejs
<% layout('layout') -%>
<form>...</form>
nav.ejs
<nav>
<% if (session.logged_in) { %>
<a href="/account">account</a>
<a href="/logout">logout</a>
<% } else { %>
<a href="/signup">signup</a>
<a href="/login">login</a>
<% } %>
<a href="/">home</a>
</nav>
我使用了express-partials,但是我发现Express-blocks对ejs更好,并且表达3.x.使用partials是每次都必须传递数据的痛苦。使用<% include whatever %>
数据已可访问。
在你的路由文件,您可以呈现这样的:
exports.login.get = function(req, res){
res.locals.session = req.session;
res.render('login', { title: 'Login to your account' });
};
9
其实后快递3.X不支持layout.ejs,如果你想使用的布局,下面的步骤应该由自己来完成:
- 附加依赖 “快车谐音”: “*” 在你
package.json
文件
"dependencies": { "express": "3.1.0", "ejs": "*", "express-partials": "*" }
- 执行
npm install
在app.js
var partials = require('express-partials');
- 添加代码
app.use(partials());
安装app.set('view engine', 'ejs');
在app.js
文件
后下express-partials
最新版本
express-partials
,你可以设计你layout.ejs
并在您的layout.ejs
文件中添加<%- body%>
块,这就够了,我们很好。+0
好人........ – 2014-08-14 21:24:55
相关问题
- 1. 传递变量与EJS模板
- 2. 使用jQuery与EJS模板
- 3. EJS模板中的外部js
- 4. 设置背景图像与ejs模板
- 5. 功能里面的ejs模板函数
- 6. 使用EJS模板
- 7. 递归tr与Knockout JS和Jquery模板
- 8. CoffeeScript的快递模板
- 9. 的NodeJS渲染EJS模板
- 10. EJS模板扩张<%= %>
- 11. 从快递客户端使用ejs partials
- 12. 传递数据,快速和EJS
- 13. 快递节点ejs链接问题
- 14. 不工作jQuery用户界面的DateTimePicker(node.js的+ EJS +快递)
- 15. 的WebPack -p禁用我的EJS模板
- 16. 节点js和快递js的区别
- 17. EJS模板呈现出什么
- 18. Javascript模板系统 - PURE,EJS,jquery插件?
- 19. 将函数传递给EJS模板以用于onclick事件?
- 20. 快递JS取适当的JSON与MySQL
- 21. 向前快递JS
- 22. 嵌套的EJS模板循环
- 23. 使用快速闪光与EJS
- 24. 快递JS GET参数
- 25. 如何使用快递呈现模板?
- 26. 如何逃避ejs模板字符串内的ejs标签?
- 27. everyauth与快递(样板)应用程序
- 28. socket.io与快递4.15模板从WebStorm不起作用
- 29. 如何发送和EJS模板到nodemailer?
- 30. ejs从文件加载模板
它据说支持根据Express的文档布局,但我还没有得到它正常工作。 –
3.x删除了布局。网站上的指南是2.x. – Pickels
您可以使用ejs-locals来定义布局。 – aredridel