Обслуживание статических файлов с помощью ring / compojure - с войны - PullRequest
15 голосов
/ 19 октября 2011

Использование ring (и инструментов lein-ring) - я могу обслуживать статические файлы из «ресурсов» и т. Д. В соответствии с документами при запуске в разработке - однако - когда я упаковываю вещи через lien uberwar, я понятия не имеюкак заставить его обслуживать эти файлы при запуске в контейнере.Я вижу конфликтующие документы на wrap-resource или параметр: resource-path, но ни один из них не работает.

Ответы [ 2 ]

24 голосов
/ 19 октября 2011

В соответствии с Compojure * Wiki для начинающих , поместите route/resources под вашими путями:

(defroutes main-routes
  (GET "/" [] "<h1>Hello World Wide Web!</h1>")
  (route/resources "/")
  (route/not-found "Page not found"))

... а затем создайте папку resources/public в своем проекте, поместите туда свои статические файлы. При ссылке на эти файлы /resources/public неявно, так что вы можете написать что-то вроде: (include-css "/css/site.css").

Вот пример, который развертывается на облачных пчелах .

20 голосов
/ 19 октября 2011

compojure.route/resources должен делать то, что вы хотите.

Просто поместите файлы в resources/public и добавьте маршрут (resources "/") в конец списка маршрутов.

Для корректной работы вам нужен довольно свежий лейн-ринг; старые версии lein-ring не поддерживают каталог ресурсов для общедоступных ресурсов.

...