Node.js expressjs:如何扩展部分布局
我有layout.jade,它包含Node.js expressjs:如何扩展部分布局,node.js,express,Node.js,Express,我有layout.jade,它包含#header#main#footer,#main包含#content和#sidebar,如果我执行res.rend('template'),我的模板主体将转到#content 但是现在有些页面是特殊的,它只想继承#页眉#页脚,模板主体应该转到#main,我如何在expressjs中做到这一点,我的模板引擎是jade。我想我应该研究视图部分并组织你的模板,以便可以交换将要更改的内部部分 我想我应该研究视图部分并组织您的模板,以便可以替换将要更改的内部部分 如果您
#header#main#footer
,#main
包含#content
和#sidebar
,如果我执行res.rend('template')
,我的模板主体将转到#content
但是现在有些页面是特殊的,它只想继承
#页眉#页脚
,模板主体应该转到#main
,我如何在expressjs中做到这一点,我的模板引擎是jade。我想我应该研究视图部分并组织你的模板,以便可以交换将要更改的内部部分
我想我应该研究视图部分并组织您的模板,以便可以替换将要更改的内部部分
如果您希望为任何视图创建一个特殊的布局模板,只需使用布局值和新模板布局的名称和位置调用de-template render即可
res.render('page', { layout: 'mylayout' });
这将使用mylayout为页眉、页脚和其他内容呈现页面布局的内容。如果您希望为任何视图提供特殊的布局模板,只需调用de-template render,其中包含布局值和新模板布局的名称和位置
res.render('page', { layout: 'mylayout' });
这将使用mylayout为页眉、页脚和其他内容呈现页面布局的内容。Jade允许您替换(默认)、前置或附加块。例如,假设您希望在每个页面上使用“head”块中的默认脚本,您可以执行以下操作:
html
head
block head
script(src='/vendor/jquery.js')
script(src='/vendor/caustic.js')
body
block content
现在,假设您有一个JavaScript游戏的应用程序页面,您需要一些与游戏相关的脚本以及这些默认值,您只需添加块:
extends layout
append head
script(src='/vendor/three.js')
script(src='/game.js')
Jade允许您替换(默认)、前置或追加块。例如,假设您希望在每个页面上使用“head”块中的默认脚本,您可以执行以下操作:
html
head
block head
script(src='/vendor/jquery.js')
script(src='/vendor/caustic.js')
body
block content
现在,假设您有一个JavaScript游戏的应用程序页面,您需要一些与游戏相关的脚本以及这些默认值,您只需添加块:
extends layout
append head
script(src='/vendor/three.js')
script(src='/game.js')
我想重复使用“mylayout”中“layout”的一部分,就像页眉包含用户信息链接和页脚链接一样。我想重复使用“mylayout”中“layout”的一部分,就像页眉包含用户信息链接和页脚链接一样。