用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

上一篇: Serving static files with ring/compojure

下一篇: How To Integrate Clojure Web Applications in Apache