Korzystanie z pierścienia (i narzędzi do tworzenia pierścieni) - jestem w stanie obsłużyć pliki statyczne z "zasobów" itp., Jak w dokumentach podczas uruchamiania w rozwoju - jednak - kiedy Pakuję rzeczy przez lien uberwar Nie mam pojęcia, jak sprawić, by wyświetlały się te pliki podczas działania w kontenerze. Widzę sprzeczne dokumenty na opakowaniu-zasobie lub ustawienie: ścieżka-zasobów, ale żadna nie działa.Obsługa plików statycznych z pierścieniem/kompozycją - z wojny
Odpowiedz
Zgodnie Compojure za Getting Started Wiki umieścić route/resources
poniżej ścieżkach:
(defroutes main-routes
(GET "/" [] "<h1>Hello World Wide Web!</h1>")
(route/resources "/")
(route/not-found "Page not found"))
... a następnie utwórz folder resources/public
w projekcie, połóż statyczne pliki. Odwołując się do tych plików, /resources/public
jest niejawny, więc możesz napisać coś w stylu: (include-css "/css/site.css")
. Jest to .
to ma być 'resources/public' zamiast' resrouce/public'? – kristianlm
Tak, wygląda na to, że ktoś to poprawił. –
Przepraszam Michael, nie mogę przeliterować! Próbowałem powiedzieć, że katalog 'resources' ma być w liczbie mnogiej, jak sądzę. – kristianlm
powinien zrobić, co chcesz.
Po prostu umieść pliki w resources/public
, a następnie dodaj trasę (resources "/")
pod koniec listy tras.
Potrzebujesz dość świeżego pierścienia, aby działał poprawnie; starsze wersje programu lein-ring nie obsługują katalogu zasobów dla zasobów publicznych.
Dla Google App Engine mogłem tylko statyczne pliki bezpośrednio w katalogu 'war /'. Pliki szablonów (używam soi) faktycznie pozostają w katalogu 'resource /' i jakoś zostają wkompilowane do katalogu wojny. Przypuszczam, że to nie jest możliwe/nie działa w twoim przypadku? – Paul