2012-08-11 3 views
7

제이드 레이아웃 파일이 제대로 렌더링되지 않는 문제가 있습니다. 본문은 렌더링되지만 생성 된 html의 head 태그는 비어 있습니다. layout.jade 파일을 별도로 렌더링하려고 시도했지만 완벽하게 작동합니다.Express, 옥 레이아웃 파일 렌더링 본문 (렌더링 헤드가 아님)

여기 내 layout.jade 파일

여기
!!! 
html 
    head 
     title= title 
     link(rel='stylesheet', href='stylesheets/style.css') 
     script(type='text/javascript', src='javascripts/jquery-1.7.2.js') 
     link(rel='stylesheet', href='stylesheets/pictogram-button.css') 
body 
    header(style='padding-bottom:50px;') 
     include partials/header 
    section(style='min-height:600px;') 
     div!= body 
    footer.footer 
     include partials/footer 

그리고 내 index.jade 파일

.line_h100t 
.column_wrap800 
    .round_box1_w800 
     .list_fl10 
      ul.line_h40 
       li(style='margin-left:20px;') 
        ul 
         li 
          img(src='/images/icon/whiteWithoutCircle/check.png') 
          img(src='/images/login/loginTxt.png') 
        ul.line_h40t 
         li(style='margin-left:50px;') 
          p 로그인이 필요하신 분은 
          p Oopa Roopa 관리팀으로 문의해 주세요! 
       li(style='border-left:1px solid #999; padding:0 0 0 20px;') 
        ul 
         li 
          span.text_yellow ID 
        ul 
         li 
          input.login_input(type='text') 
        ul.line_h35t 
         li 
          span.text_yellow PASSWORD 
        ul 
         li 
          input.login_input(type='password') 
       li 
        ul.line_h10t 
         a.button-bevel.transparency(href='#') 
          .line_h35 
           span.lock 
           p(style='width:100px;') LOGIN 

입니다 그리고 여기에 인덱스 파일을 렌더링 내 특급 응용 프로그램의 기능입니다.

adminLogin : function (req,res) { 
    res.render('index', { 
     title: 'Admin Login', 
     pageCategory: 'Admin Login', 
     pageName : 'index' 
    }); 
}, 

도움을 주셔서 감사합니다.

+0

어떤 익스프레스 버전을 사용하고 있습니까? 버전 3에서는 레이아웃 개념이 제거되었다고 생각합니다. –

+0

3.0.0을 사용 중입니다. 제 동료가 옥 파일을 만들었습니다. 그리고 그는 영어 원어민이 아니기 때문에 나는 그를 대신해서 글을 쓰고 있습니다. 이전 스타일 레이아웃을 사용하는 것과 동일한 효과를 얻으려면 내가해야 할 일을 지적하십시오. –

답변

18

표현 3에서 레이아웃은 here과 같이 템플릿 상속을 위해 제거되었습니다. jade readme은 이것이 어떻게 작동하는지 설명하고 추가 예제는 here입니다.

div!= bodyblock body (또는 이와 유사)로 바꿔야합니다. index.jade 상단에서 extends layout을 추가 할 수 있습니다. 마지막으로 index.jade의 내용을 block body (또는 layout.jade에서 사용한 이름) 아래에 넣으십시오.

+0

대단히 고맙습니다. 문제가 해결되었습니다! –

+0

David, 어떻게 변수를 부분에 보내시겠습니까 ('include partials/header')? –