如何使用express管理服务器端和客户端的jade模板?
假设我正在编写一个比较比萨饼店的应用程序。 我的比萨店列表有一个模板,如下所示:如何使用express管理服务器端和客户端的jade模板?,express,pug,Express,Pug,假设我正在编写一个比较比萨饼店的应用程序。 我的比萨店列表有一个模板,如下所示: table tr th Rank th Name th Date Ordered th Address each shop in shops tr td= shop.rank td= shop.name td
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
当用户在“/shops”请求页面时,我想用页面的完整html进行响应。当用户已经在“/”上,并且他们在页面中导航到“/shops”时,我只想请求JSON,并呈现模板客户端(如果感兴趣的话,我使用的是backbone.js)
由于Express不再支持布局,我怀疑我必须在shops.jade文件中扩展layout.jade,但这样做的问题是,shops.jade文件将呈现整个页面的html,因此在客户端是无用的,我只希望它呈现商店表
我考虑过的另一个选项是在我的服务器代码中有两个对res.render的调用,一个用于呈现商店列表,另一个用于呈现以该列表为内容的布局。这个解决方案显然是次优的
有没有人见过/找到一种使用jade来满足这两种情况的方法?我使用的解决方案是在页面加载时不在正文中发送标记,并在响应中包含客户端正在查看的任何页面的json数据。然后我让主干处理html的呈现。这在主干应用程序中似乎很常见