Serving static files with ring/compojure
Using ring (and the lein-ring tools) - I am able to serve up static files from "resources" etc as per the docs when running in development - however - when I package things up via lien uberwar I have no idea how to make it serve those files when running in a container. I see conflicting docs on wrap-resource, or setting :resource-path but none seem to work.
As per Compojure's Getting Started Wiki, put route/resources
below your paths:
(defroutes main-routes
(GET "/" [] "<h1>Hello World Wide Web!</h1>")
(route/resources "/")
(route/not-found "Page not found"))
...and then, create a folder resources/public
in your project, put your static files there. When referring to these files, the /resources/public
is implicit, so you can write something like: (include-css "/css/site.css")
.
Here is an example that deploys to cloudbees.
compojure.route/resources
should do what you want.
Just put the files in resources/public
and then add a route (resources "/")
near the end of your routes list.
You need a fairly recent lein-ring for this to work correctly; older versions of lein-ring don't support the resources directory for public assets.
链接地址: http://www.djcxy.com/p/56976.html上一篇: 环/组合没有码头