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. 的NodeJS:輸出使用快遞EJS模板
- 4. sails js:使用jQuery添加EJS模板
- 5. EJS模板中的外部js
- 6. Node JS - 使用路由器添加更多頁面(ejs模板)
- 7. 新聞快遞版面與Gmail崩潰
- 8. 設置背景圖像與ejs模板
- 9. 使用EJS和REST快遞
- 10. 功能裏面的ejs模板函數
- 11. 使用EJS模板
- 12. 遞歸tr與Knockout JS和Jquery模板
- 13. 沒有模板的快遞
- 14. 獲取ejs模板中的url參數
- 15. 如何使用傳遞給角應用的ejs模板的JS變量?
- 16. 的NodeJS渲染EJS模板
- 17. 訪問模板params ejs express
- 18. EJS模板擴張<%= %>
- 19. 快遞JS
- 20. 快遞&res.render傳遞模板字符串
- 21. 從哈巴狗設置快遞到EJS
- 22. 快遞節點ejs鏈接問題
- 23. 從快遞客戶端使用ejs partials
- 24. 傳遞數據,快速和EJS
- 25. 不工作jQuery用戶界面的DateTimePicker(node.js的+ EJS +快遞)
- 26. 的WebPack -p禁用我的EJS模板
- 27. 檣EJS但連接JS編譯車把公共模板
- 28. 如何在EJS模板上使用jQuery和vanilla JS
- 29. 特快JS不渲染玉模板
- 30. 節點JS服務HTML頁面快遞
它據說支持根據Express的文檔佈局,但我還沒有得到它正常工作。 –
3.x刪除了佈局。網站上的指南是2.x. – Pickels
您可以使用ejs-locals來定義佈局。 – aredridel