EJS包括相对于设置视图路径的嵌套目录中的部分内容

问题描述 投票:1回答:1

[目前,我将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是否本地支持?

node.js express ejs
1个回答
0
投票

当前,EJS不支持此功能。但是,我已经在此答案中描述了一个hack EJS include file relative to project root

希望能解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.