我正在尝试使用jade模板创建模块化布局。我想将一个来自子节点的脚本块添加到其父节点父节点中。我不太确定它是否可能。
这是我的结构
layout.jade
head.jade
index.jade
users.jade
layout.jade: DOCTYPE HTML#HTML 包括头
body
block content
head.jade:
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
block scripts
index.jade:
extends layout
block content
h1 Hello
include users
users.jade
block append scripts
script(src='/javascripts/user.js')
ul
each user, i in users
li(class=i+"-"+user) #{user}
我想要的html输出应该是:
<!DOCTYPE html>
<html id="html">
<head>
<title>Index</title>
<link href="/stylesheets/style.css" rel="stylesheet">
<script src="/javascripts/user.js"> <!--// append this from user.jade into head.jade //-->
</head>
<body>
<h1>Hello bob</h1>
<li class="0-user1">user1</li>
答案 0 :(得分:4)
这应该是可能的,而examples in the jade documentation就是这样做的。您的代码看起来都很好,除非您需要在script
中缩进users.jade
标记,因此它在block append script
指令下方缩进。
答案 1 :(得分:1)
我尝试使用相同的方法来定义制表符控件。 我在单独的玉文件中定义了页面。 每个jade文件都附加了一个包含所包含的标签页的块。 直到我在'index.jade'中的块中添加了一些东西,它才起作用,如下所示:
extends layout
append scripts
//- dummy
block content
h1 Hello
include users
但是我还想补充一点,因为我添加了多个.jade文件,我在下面运行。每个文件包括jade-template使用的块附加添加标签页,但是添加页面的顺序是相反的。