可选包括在ejs中

时间:2017-12-25 06:12:59

标签: node.js ejs

我是否可以选择包含部分内容?

例如,

some-template.ejs

应该遵守:

如果// content of some-template.ejs 存在:

some-template.ejs

如果// nothing 不存在:

ENOENT: no such file or directory, open 'some-template'

目前,如果部分不存在,则会抛出错误,例如:

{{1}}

1 个答案:

答案 0 :(得分:1)

只需用 if 将其括起来检查文件是否存在:

<% if (fs.existsSync('views/some-template.ejs')) { %>
    <%- include('some-template'); %>
<% } %>

确保'views'文件夹与条件内的路径匹配。

此外,您必须将fs对象发送到引擎,以便可以在父模板的scriptlet中使用它:

res.render("main-template", {
    fs: fs
});