如何使用绝对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的值。