假設我正在組織比較披薩店的應用程序。 我有我的比薩餅店列表中選擇一個模板,看起來像這樣:如何用express來管理服務器端和客戶端的jade模板?
table
tr
th Rank
th Name
th Date Ordered
th Address
each shop in shops
tr
td= shop.rank
td= shop.name
td= shop.dateOrdered
td
each line in shop.address
span #{line} <br/>
和每個頁面的佈局應該是這樣的:
doctype 5
html
head
title Pizza Wars
link(rel='stylesheet', href='/style/style.css')
body
#wrapper
h1.main-title.section.group Pizza Wars
div.section.group
include side-menu
block content
當用戶在「請求頁/商店'我想用頁面的完整html做出迴應。當用戶已經在'/'並且他們在頁面中導航到'/ shops'時,我想請求JSON,並且渲染模板客戶端(我使用backbone.js,如果這是任何感興趣的話) 。
由於Express不再支持佈局,我懷疑我必須在我的shops.jade文件中使用extend
layout.jade,但是這樣做的問題是我的shops.jade文件會渲染整個頁面的html ,因此是無用的客戶端,我只希望它呈現商店的表格。
我考慮過的另一個選擇是在我的服務器代碼中調用res.render,一個用於渲染商店列表,另一個用該列表作爲內容渲染布局。該解決方案顯然是次優的。
有沒有人見過/找到一種方法來使用玉來迎合這兩種情況?