我在继承方面有多个级别,
测试layout.jade
html
head
title My Site - #{title}
body
block content
block foot
#footer
p some footer content
test.jade
extends test-layout
block content
h1 titllllllllle
p some text
测试child.jade
extends test
block content
.sidebar
li
block sidebar
p nothing
.primary
li
block primary
p nothing
测试孙子
extend test-child
block sidebar
b this is grandson sidebar
block primary
b this is grandson primary
输入http://*/test
我遇到了这个问题:
500 Error: F:\express\views\test\test-layout.jade:2
1| extends test-layout
> 2|
3| block content
4| h1 my titllllllllle
5| p some text unexpected token "indent"
输入http://*/test-child
我明白了:
extends test-layout
nothing
nothing
任何人都可以帮忙吗?
谢谢!
答案 0 :(得分:1)
首先,您可以更正test-grandson.jade
(extend
至extends
)中的类型。尽管如此,一个新的Jade-Version应该可以解决这个问题。您使用的是哪个版本?
我在Windows 7 64bit上运行Jade 0.34.1并得到了这个结果,这是我的预期:
<html>
<head>
<title>My Site - </title>
</head>
<body>
<div class="sidebar">
<li><b>this is grandson sidebar</b></li>
</div>
<div class="primary">
<li><b>this is grandson primary</b></li>
</div>
<div id="footer">
<p>some footer content</p>
</div>
</body>
</html>
问题起源于aaron文件的编码。他的文件用UTF-8编码,并由他的编辑附加UTF-8 BOM Mark。显然,Jade无法很好地处理这个标记,尽管这不是特别是Jade问题,而是更多的Node.js问题。
您可以通过在有问题的文件的开头添加空行来获得解决方法。否则,您将不得不找到一种从文件中剥离BOM标记的方法,这不是一件容易的事。
答案 1 :(得分:1)
我终于在github分叉了jade项目,并在这里提交了一个修复程序:
https://github.com/kiinoo/jade.git
我还向玉代码所有者发送了pull request,希望他们能尽快整合。