0

我在继承上有多个层次,

测试布局.jade

html
  head
    title My Site - #{title}
  body
    block content
    block foot
      #footer
        p some footer content

测试.jade

extends test-layout

block content
  h1 titllllllllle
  p some text

test-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

任何人都可以帮忙吗?

谢谢!

4

2 回答 2

1

首先,您可以更正test-grandson.jade(extendextends) 中的类型。尽管如此,一个新的 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 标记。显然 Jade 不能很好地处理这个标记,虽然这不是 Jade 的特别问题,而是 Node.js 的问题。

您可以通过在有问题的文件的开头添加一个空行来获得解决方法。否则,您将不得不找到一种方法从文件中去除 BOM 标记,这并非易事。

(Jade GitHub repo 上已经有问题了

于 2013-08-07T08:56:20.217 回答
1

我终于在github上fork了jade项目,并在这里提交了一个修复:

https://github.com/kiinoo/jade.git

我还向玉代码所有者发送了一个拉取请求,希望他们能尽快整合它。

于 2013-08-12T15:04:37.740 回答