我需要在一个不同的目录中包含一个使用EJS模板的包含。我的文件夹结构如下:
-views
---includes
-----navigation.html
-----footer.html
---page
-----layout.html
当我尝试在<% include includes/navigation.html %>
中执行page/layout.html
时,它会返回:
找不到包含文件。
我的视图引擎设置如下:
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
app.use(expressLayouts);
我的问题是:我的理解是app.set('views', path.join(__dirname, 'views'));
设置了所有视图的路径。但是我不想仅仅拥有views/includes
,因为然后尝试包含不在views/includes
中的其他包含不起作用,对吗?
如何将包含包含在除当前目录之外的其他目录中?
答案 0 :(得分:1)
当您的主应用中的设置视图时,只需包含您要用作&#34;包含&#34;的目录。目录:
app.set('views', [path.join(__dirname, 'views'), path.join(__dirname, 'views/includes/')]);