[目前,我将Express与EJS一起用作模板引擎。我的问题是,相对于嵌套视图中当前目录的路径,而不是相对于设置的基本视图目录而言的路径,而不求助于黑客。
我的视图目录的结构如下
+--/views
|
+--partials/
| |
| +--header.ejs
| +--footer.ejs
|
+--pages/
| |
| +--blog/
| | |
| | +--new.ejs
| | +--show.ejs
| |
| +--landing.ejs
| +--(More files)
|
+--index.html
我正在设置Express中的views目录
app.set('views', path.join(__dirname, 'views'));
在我使用的pages / landing.ejs中
<% include ../partials/header %>
在更深层的嵌套视图中,例如pages / blog / new.ejs
<% include ../../partials/header %>
并且有效,我的意图是使用基本路径是相对于两个文件中的set view目录的,如下所示:
<% include partials/header %>
EJS是否本地支持?
当前,EJS不支持此功能。但是,我已经在此答案中描述了一个hack EJS include file relative to project root
希望能解决您的问题。