2012-08-11 9 views
7

Mi problema es que mi archivo de diseño de jade no se está procesando correctamente. El cuerpo se representa, pero las etiquetas de cabeza en el html producido están vacías. He intentado renderizar el archivo layout.jade por separado y funciona perfectamente.Express, cuerpo de renderizado de archivos de diseño de jade, pero sin cabeza de procesamiento

Aquí está mi archivo 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 

Y aquí está mi archivo 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 

Y aquí es la función en mi aplicación expreso que hace que el archivo de índice.

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

Gracias de antemano por cualquier ayuda que me brindes.

+0

¿Qué versión de expreso estás usando? En la versión 3, creo que se eliminó la noción de diseños. –

+0

Estoy usando 3.0.0 Mi compañero de trabajo hizo los archivos de jade. Y como él no es un hablante nativo de inglés, estoy escribiendo aquí en su nombre. ¿Podría indicarme qué debo hacer para obtener el mismo efecto que utilizar los diseños de estilo antiguo? –

Respuesta

18

En el Expreso 3, los diseños se eliminaron en favor de la herencia de la plantilla como se explica en here. El jade readme describe cómo funciona esto, y un ejemplo adicional es here.

Deberá reemplazar div!= body con block body (o similar). Luego, en la parte superior de index.jade, querrá agregar extends layout. Finalmente coloque el contenido de index.jade bajo block body (o el nombre que utilizó en layout.jade).

+0

¡Muchas gracias, esto resolvió el problema! –

+0

David, ¿cómo se envían variables al parcial ('include partials/header') en Jade? –

Cuestiones relacionadas