7

私の問題は、翡翠のレイアウトファイルが正しくレンダリングされないことです。本文はレンダリングされますが、生成された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'
    });
},

よろしくお願いします。

4

1 に答える 1

18

Express 3 では、ここで説明されているように、テンプレートの継承を優先してレイアウトが削除されました。jade のreadmeには、これがどのように機能するかが説明されており、追加の例がここにあります。

(または同様のもの)div!= bodyに置き換える必要があります。block body次に、 の上部にindex.jadeを追加しextends layoutます。最後に の内容をindex.jadea block body(または で使用した名前layout.jade) の下に置きます。

于 2012-08-11T08:04:34.317 に答える