NodeJS ejs -包含子文件夹文件中的文件

k97glaaz  于 2023-05-17  发布在  Node.js
关注(0)|答案(2)|浏览(198)

我的主模板文件夹是views。在这个文件夹中,我有另一个名为_layouts的文件夹,其中有header.ejsadmin_header.ejs
因此,如果我在views文件夹中有一个文件,比如说index.ejs,我可以轻松地包含来自_layouts的文件,例如:

<% include _layouts/header %>

但是现在我在views文件夹中创建了另一个名为admin的子文件夹,其中有admin.ejs,但是我不能再包含来自_layouts的文件。
我试过<% include _layouts/admin_header %><% include ../_layouts/admin_header %>
在这两种情况下,我得到:

failed to open views\admin\_layouts\admin_header.ejs

有没有办法把_layouts中的文件包含在另一个子文件夹中的文件中?

8dtrkrch

8dtrkrch1#

也许你需要在路由文件中设置一些路径。试试这个,对我有用:

app.set('views', [path.join(__dirname, 'views'),
                  path.join(__dirname, 'views/your_another_folder/')]);

所以,在你的模板中,你可以调用你的文件,像这样:
'<%- include partials/folter/file %>'

7kqas0il

7kqas0il2#

<%- include(“./partials/header.ejs”)-%>
partials是我在views文件夹中创建的子文件夹

相关问题