使用 ring(和 lein-ring 工具)——我可以在开发中运行时根据文档从“资源”等中提供静态文件——但是——当我通过 Lien uberwar 打包东西时,我不知道如何制作它在容器中运行时提供这些文件。我在 wrap-resource 或设置 :resource-path 上看到有冲突的文档,但似乎没有一个有效。
问问题
15316 次
2 回答
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")
.
于 2011-10-19T11:10:04.887 回答
20
compojure.route/resources
应该做你想做的。
只需将文件放入resources/public
,然后在(resources "/")
路线列表的末尾附近添加一条路线。
您需要一个相当新的 lein-ring 才能正常工作;旧版本的 lein-ring 不支持公共资产的资源目录。
于 2011-10-19T08:30:14.017 回答