2017-06-12 123 views
7

我無法使用絕對路徑包含EJS partials /partials/footer.ejs 當我說這個EJS試圖在我的文件系統根目錄中查找這個文件時。如何使用絕對路徑包含EJS partials

所以目前我做這<% include ../partials/footer.ejs %> 但這變得太硬,如果我在EJS工作文件中像/services/webapps/app1.ejs然後我不得不提到的部分像<% include ../../../partials/footer.ejs %>如果我重構這個文件,它打破容易。

因此,如何以包括絕對路徑的諧音?這樣我可以簡單地說/partials/footer.ejs

回答

7

看起來這是不被支持EJS還。不過,我發現這個問題的解決方法。 在上面的設置中,所有部分文件的痛點是需要提及相對路徑,以及是否重構代碼變得更加痛苦。所以我只是提到每個包含的相對路徑,我在頁面頂部聲明瞭一個變量rootPath,然後我給出了到達家的路徑。所以,在每一個包含我可以簡單地提到相對路徑就像從根路徑。

例如在guide/index.ejs我提到了在EJS的頂部以下文件

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

,並在EJS文件的代碼看起來像下面

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

你的HTML代碼

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

所以,如果我重構index.ejs一些其他文件夾的所有我需要做的僅僅是在一次地方改變rootPath值。