假设我保存了一个页脚片段。如何在我当前的模板中“包含”?
答案 0 :(得分:79)
我知道这个问题已被标记为已回答,但我相信您所寻找的是“部分”语法。在EJS中,您可以将一个视图模板中的内容包含在另一个视图模板中,如下所示:
<html>
<head></head>
<body>
Blah blah blah
<%- partial('footer') %>
</body>
</html>
答案 1 :(得分:45)
EJS使用include非常简单。以下是EJS README中的描述:
包含相对于带有include语句的模板,for 例如,如果你有“./views/users.ejs”和“./views/user/show.ejs” 你会使用&lt;%include user / show%&gt;。包含的文件是 字面上包含在模板中,之后不执行IO 编译,因此包含这些局部变量 模板。
<ul>
<% users.forEach(function(user){ %>
<% include user/show %>
<% }) %>
</ul>
因此,在您的情况下,如果页脚与您要包含它的文件位于同一目录中,则只需将<% include footer %>
添加到您的文件中。
答案 2 :(得分:17)
您可以通过
添加ejs模板<% include includes/header.ejs %>
答案 3 :(得分:9)
正确的语法是<%- include('<path>', <object with extra parameters>) %>
include是一个函数 包含是相对于包含调用的模板的。 (这需要'filename'选项。)例如,如果您具有“ ./views/users.ejs”和“ ./views/user/show.ejs”,则可以使用<%-include('user / show') ; %>。
您可能希望在包含中使用原始输出标签(<%-),以避免对HTML输出进行两次转义。
答案 4 :(得分:7)
在同一DIR中
<%- include('header'); -%>
根目录DIR
<%- include('../partials/header'); -%>
与EJS v3.0.1一起使用
答案 5 :(得分:2)
通过使用以下语法,易于在ejs
中包含:
<% include filename %>
注意:文件应位于视图内。