web-dev-qa-db-ja.com

htmlファイルまたはスニペットを直接ジェイドに含める方法はありますか?

静的なHTMLファイルのセットがあります。node.js/ express/jadeプロジェクトに移動したいと思います。 htmlファイルまたはスニペットを直接ジェイドに含める正しい方法は何ですか?既存のhtmlファイルをジェイドに変換したくないのですか?

34
jason chen

単純に include it jadeテンプレート内でできるはずです:

前述のように、includeを使用して、htmlやcssなどの他のコンテンツを含めることができます。拡張子を指定すると、Jadeはそのファイルを読み取り、ファイルの拡張子に一致する filter を適用し、そのコンテンツを出力に挿入します。

html
  // ...
  body
    // ...
    //- html files have no filter and are included verbatim
    include content.html
47

使用する :verbatim正確なhtmlコードまたはスニペットの前に直接ジェイドで。

doctype html
html(lang="en")
  :verbatim
    {% include head.html %}
  body
    :verbatim
    {{ content }}

  :verbatim
    {% include footer.html %}

出力

<!DOCTYPE html>
<html lang="en">{% include head.html %}
  <body>{{ content }}
  </body>{% include footer.html %}
</html>
7

.jadeファイルでは、次のようなことをしなければなりませんでした。

:verbatim
   !{editorBody}

..ここでeditorBodyはres.render()呼び出しを介して提供されます:

var editorBody = '<p>Hello</p>';

return res.render('user/user_profile', {editorBody : editorBody});
3
Gene Bo