1

我正在尝试使用 Node/Express/Jade/Stylus 做一个应用程序。

问题是 Jade 不会渲染包含文件的内容。

以下是文件:

布局.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>
4

1 回答 1

3

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

// index.jade
extends layout

block header
  include helpers/header

block content 
  form#form-login

另外,你不应该extends ../layout在你的头文件中使用,否则你的布局文件将被渲染两次。

于 2013-11-08T18:22:18.173 回答