用ring / compojure提供静态文件
使用ring(和lein-ring工具) - 我可以根据在开发中运行的文档从“resources”等提供静态文件 - 但是 - 当我通过lien uberwar打包时,我不知道如何制作它在容器中运行时提供这些文件。 我在wrap-resource上看到冲突的文档,或者设置:resource-path,但似乎没有任何工作。
根据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")
。
这是一个部署到cloudbees的例子。
compojure.route/resources
应该做你想做的事情。
只需将这些文件放在resources/public
,然后在路由列表末尾添加一个路由(resources "/")
。
你需要一个相当新近的lein-ring来正确工作; 老版本的lein-ring不支持公共资产的资源目录。
链接地址: http://www.djcxy.com/p/56975.html