15

使用 ring(和 lein-ring 工具)——我可以在开发中运行时根据文档从“资源”等中提供静态文件——但是——当我通过 Lien uberwar 打包东西时,我不知道如何制作它在容器中运行时提供这些文件。我在 wrap-resource 或设置 :resource-path 上看到有冲突的文档,但似乎没有一个有效。

4

2 回答 2

24

根据 Compojure 的Getting Started Wikiroute/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 的示例

于 2011-10-19T11:10:04.887 回答
20

compojure.route/resources应该做你想做的。

只需将文件放入resources/public,然后在(resources "/")路线列表的末尾附近添加一条路线。

您需要一个相当新的 lein-ring 才能正常工作;旧版本的 lein-ring 不支持公共资产的资源目录。

于 2011-10-19T08:30:14.017 回答