Express,jade布局文件渲染体但不渲染头

时间:2012-08-11 07:32:07

标签: node.js express pug

我的问题是我的jade布局文件无法正确呈现。渲染了正文,但生成的html中的head标记为空。我试图分别渲染layout.jade文件,它完美无缺。

这是我的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'
    });
},

提前感谢你给我的任何帮助。

1 个答案:

答案 0 :(得分:18)

在快递3中,删除了布局以支持模板继承,如here所述。玉readme描述了这是如何工作的,另一个例子是here

您需要将div!= body替换为block body(或类似)。然后在index.jade的顶部,您需要添加extends layout。最后将index.jade的内容放在block body下(或您在layout.jade中使用的任何名称)。