2017-06-12 59 views
7

Nie mogę uwzględnić częściowych EJS przy użyciu ścieżki bezwzględnej, takiej jak /partials/footer.ejs Kiedy mówię, że ten EJS próbuje znaleźć ten plik w katalogu głównym mojego systemu plików.Jak dołączyć częściowe EJS przy użyciu ścieżki bezwzględnej

Więc obecnie robię to <% include ../partials/footer.ejs %> Ale to staje się zbyt trudne, jeśli pracuję na EJS złożyć jak /services/webapps/app1.ejs to muszę wspomnieć częściowy jak <% include ../../../partials/footer.ejs %> i jeśli byłaby tego pliku przerywa z łatwością.

Jak dołączyć częściowe do ścieżki absolutnej? tak, że mogę po prostu powiedzieć /partials/footer.ejs

Odpowiedz

7

Wygląda na to, że nie jest jeszcze obsługiwany przez EJS. Jednak znalazłem obejście tego problemu. W powyższym ustawieniu punkt bólu dotyczy wszystkich częściowych plików, które trzeba wymienić względne ścieżki i jeśli refaktoryzacji kod, który staje się większy ból. Więc raczej wspomnieć o ścieżce względnej przy każdym uwzględniam raz na górze strony deklarację zmiennej rootPath, a tam podaję ścieżkę do domu. Tak więc przy każdym włączeniu mogę po prostu wspomnieć o względnej ścieżce, podobnie jak ścieżka z katalogu głównego.

Na przykład w guide/index.ejs wspomnieć o następujących szczycie EJS złożyć

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

i oraz kod w pliku Ejs wygląda poniżej

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

kodzie HTML

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

Więc w przypadku i refactor index.ejs do jakiegoś innego folderu wszystko, co muszę zrobić, to zmienić wartość rootPath tylko na raz miejsce.