使用ring(以及lein-ring工具) - 我可以在开发中运行时根据文档提供来自“资源”等的静态文件 - 但是 - 当我通过lien uberwar打包时我不知道如何在容器中运行时使它服务于这些文件。我在wrap-resource上看到了冲突的文档,或者设置了:resource-path但是似乎都没有。
答案 0 :(得分:24)
根据Compojure的Getting Started 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")
。
答案 1 :(得分:20)
compojure.route/resources
应该做你想做的事。
只需将文件放入resources/public
,然后在路线列表末尾附近添加路由(resources "/")
。
你需要一个相当新的lein-ring才能正常工作;旧版lein-ring不支持公共资产的资源目录。