2013-11-08 3 views
1

Я пытаюсь сделать приложение с узлом/Express/Jade/Stylus.Jade Include не отображает включенное содержимое страницы

Проблема в том, что 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> 

ответ

3

Это выглядит как блок не распространяется должным образом из включаемого в макет (я не слишком знаком с Джейд, так что это может быть предполагаемым поведением), потому что это похоже на работу:

// index.jade 
extends layout 

block header 
    include helpers/header 

block content 
    form#form-login 

Кроме того, вы не должны использовать extends ../layout в заголовке вашего включают, в противном случае ваш файл компоновки будет оказана в два раза.

Смежные вопросы