使用Clojure中的相对路径为不同路由提供静态资源

时间:2016-03-25 06:33:08

标签: clojure compojure ring

我正在构建lein new compojure-app模板。我有一条通往/的路线,工作正常,以及通往/foo/的路线。在两个页面之间,只有身体发生变化,所以我想尽可能多地坚持使用公共视图功能(我使用common中的默认views/layout.clj。但是,当按相对路径投放资源时,例如css/main.css,我到/的路由正常,但到/foo/的路由正在寻找/foo/css/main.css而不是查找根目录。如何使用到任意路由的相对路径来提供静态资源?

1 个答案:

答案 0 :(得分:3)

您需要使用wrap-base-url中间件和include-csswrap-base-url将设置*base-url*动态var,用于为include-cssinclude-jsto-url直接使用的资源构建网址。

如果您将应用程序部署为servlet容器中的war,wrap-base-url将自动检测您的应用程序根上下文(例如/my-app/)。否则,您需要手动提供根路径作为第二个参数。

相关问题