web-dev-qa-db-ja.com

EJSテンプレートエンジンで、フッターを「含める」にはどうすればよいですか?

フッターのスニペットを保存したとしましょう。それを現在のテンプレートに「含める」にはどうすればよいですか?

45
TIMEX

この質問はすでに回答済みとマークされていますが、探していたのは「部分的な」構文だと思います。 EJSでは、次のように1つのビューテンプレートのコンテンツを別のビューテンプレートに含めることができます。

<html>
  <head></head>
  <body>
    Blah blah blah
    <%- partial('footer') %>    
  </body>
</html>
80
Matt H

EJSでは、インクルードの使用が非常に簡単になります。 EJSのREADMEに記載されている方法を次に示します。

インクルードは、includeステートメントを使用したテンプレートに関連しています。たとえば、「./ views/users.ejs」と「./views/user/show.ejs」がある場合は、<%include user/show%>を使用します。インクルードされたファイルは文字通りテンプレートにインクルードされ、コンパイル後にIOが実行されないため、これらのインクルードされたテンプレートでローカル変数を使用できます。

<ul>
  <% users.forEach(function(user){ %>
    <% include user/show %>
  <% }) %>
</ul>

したがって、あなたの場合、フッターを含めるファイルと同じディレクトリにある場合は、単に<% include footer %>をファイルに追加します。

45
DanArl

次の方法でejsテンプレートを含めることができます。

<% include includes/header.ejs %>
17
Jackal

次の構文を使用すると、ejsに簡単に含めることができます。

<% include filename %>

注:ファイルはビュー内にある必要があります。

2
Bijayee Saswata