0

複数のデータ チャンクをクライアントに送信しようとしていますが、それぞれが Express Node.js フレームワークの Jade テンプレート エンジンによってレンダリングされます。

  1. ヘッダー、viewA、viewB、viewC などのビューがいくつかあります。
  2. リクエストごとに、ヘッダーの部分ビューをレンダリングし、それをチャンクとして送信して、クライアント ブラウザーがレンダリングを開始する必要があります。<body>ヘッダー ビューがレンダリングされるときに、タグ内にあるはずのデータがさらに来るため、タグ内を閉じたくありません<body>
  3. それまでの間、いくつかの計算を行う必要があり、その後、A、B、または C のいずれかの別のビューをレンダリングします。
  4. </body></html>A、B、または C ビューが送信されたら、タグを閉じることを意味する応答を閉じます。

とてもシンプルに聞こえます。しかし、問題は、ヘッダー ビューをレンダリングするときに Jade が<html>and<body>タグを閉じることです。

ネイティブ Node.js 応答オブジェクトを使用してこれを手動で行う方法は知っていますが、Jade でこれを正しい方法で行う方法がわかりません。

私が現在見ている唯一の解決策は、ヘッダー部分を手動でタグを開くように送信し<body>、残りを を介して Jade パーシャルとしてレンダリングすることres.partial()です。

どんなヒントでも大歓迎です。

4

2 に答える 2

0

私は上記の答えを受け入れるかもしれませんが、うまくいったようですが、うまくいきませんでした。それでも、次のコードは機能しました。

!!! 5
<html>
head
    meta(http-equiv="Content-Type",content="text/html;charset=utf-8")
    meta(http-equiv="Cache-Control", content="no-cache")
    meta(http-equiv="Expires", content="0")
    title= title
    link(rel="shortcut icon",href='/img/nelo2_logo.ico')
    link(rel='stylesheet',href='/css/bootstrap.css')
    link(rel='stylesheet',href='/css/jquery-ui.css')
    link(rel='stylesheet',href='/css/chosen.css')
    link(rel='stylesheet',href='/css/common.css')
    link(rel='stylesheet',href='/css/style.css')
    script(src='/js/core/require.js')
<body>

<html>したがって、解決策はタグとタグをインデントするのではなく<body>、同じ列に配置することでした。このように、ジェイドはそれらを閉じません。

于 2013-09-27T01:26:55.020 に答える