如何使用绝对path包含EJS partials

我无法使用像/partials/footer.ejs这样的绝对path来包含EJS partials当我说这个EJS试图在我的文件系统根目录下查看这个文件。

所以目前我正在做这个<% include ../partials/footer.ejs %>但是这变得太难了,如果我工作在像/services/webapps/app1.ejs这样的ejs文件,那么我不得不提一下像<% include ../../../partials/footer.ejs %> ,如果我重构这个文件很容易中断。

那么如何将绝对path包含进去? 所以我可以简单地说/partials/footer.ejs

看起来这是EJS不支持的。 不过,我发现这个问题的解决方法。 在上面的设置中,所有部分文件的痛点是需要提及相对path,如果重构代码更加痛苦。 所以,而不是提到每个包含的相对path我声明一个variablesrootPath一次在页面的顶部,在那里我给path到达家。 所以,在每一个包括我可以简单地提到相对path就像从根path。

例如在guide/index.ejs我在ejs文件的顶部提到了以下内容

<% var rootPath = '../'; %>

和ejs文件中的代码如下所示

<%- include(rootPath + 'partials/header'); %>

您的HTML代码

<%- include(rootPath + 'partials/footer'); %>

所以万一我重构index.ejs到其他文件夹,所有我需要做的是只改变一次的地方rootPath的值。