Jade Include不会呈现包含的页面内容

时间:2013-11-08 17:55:24

标签: node.js templates express pug

我正在尝试使用Node / Express / Jade / Stylus进行应用。

问题是Jade不会呈现包含文件的内容。

以下是文件:

layout.jade:

doctype 5
html
  block head
    head
      title= title
      link(rel='stylesheet', href='/stylesheets/style.css')

body
  header
    block header

  #main-container
    block content

  footer
    block footer

index.jade:

extends layout

include helpers/header

block content 
  form#form-login

助手/ header.jade:

extends ../layout

block header
  #test
    p Hello World
    img(src="images/Logo.jpg" alt="Logo")

呈现的页面为空白。在页面中没有任何东西。图片网址是正确的,所以这不是问题的一部分。我检查了页面代码,并且header.jade被完全忽略了。

我检查了header.jade是否已加载,并且已加载(我尝试在其中添加错误)。

这里是呈现页面的代码:

<!DOCTYPE html>
   <html>
     <head>
       <title>Title</title>
       <link rel="stylesheet" href="/stylesheets/style.css">
     </head>
     <body>
       <header></header>
       <div id="main-container">
         <form id="form-login"></form>
       </div>
       <footer></footer>
     </body>
   </html>

1 个答案:

答案 0 :(得分:3)

看起来块不能从包含到布局正常传播(我对Jade不太熟悉,所以这可能是预期的行为),因为这似乎有效:

// index.jade
extends layout

block header
  include helpers/header

block content 
  form#form-login

此外,您不应在标题包含中使用extends ../layout,否则您的布局文件将呈现两次。