通过特定路径包装文件
wrap-file through a specific route
我正在为我的 compojure 应用程序设置静态资源。我需要使用 wrap-file
而不是 wrap-resource
,因为我需要从文件系统提供静态文件。
我遵循了这个 wiki 并配置了 wrap-file
现在我可以从 http://localhost/static-file.css
提供我的静态资产
我想做的是在特定上下文中为我的静态资产提供服务http://localhost/context/static-file.css
对于 Compojure 路由,重要的是要记住任何路由都可以包装在中间件中,而不仅仅是路由的顶级集合。考虑到这一点,我们可以使用 Compojure 的 context
在需要的地方挂载文件系统路由。
(defroutes app-routes
(GET "/" [] "Hello World")
(context "/context" []
(-> (route/not-found "File Not Found")
(wrap-file "path-to/static-files")))
(route/not-found "Not Found"))
(def app
(-> app-routes
(wrap-defaults site-defaults)))
我正在为我的 compojure 应用程序设置静态资源。我需要使用 wrap-file
而不是 wrap-resource
,因为我需要从文件系统提供静态文件。
我遵循了这个 wiki 并配置了 wrap-file
现在我可以从 http://localhost/static-file.css
我想做的是在特定上下文中为我的静态资产提供服务http://localhost/context/static-file.css
对于 Compojure 路由,重要的是要记住任何路由都可以包装在中间件中,而不仅仅是路由的顶级集合。考虑到这一点,我们可以使用 Compojure 的 context
在需要的地方挂载文件系统路由。
(defroutes app-routes
(GET "/" [] "Hello World")
(context "/context" []
(-> (route/not-found "File Not Found")
(wrap-file "path-to/static-files")))
(route/not-found "Not Found"))
(def app
(-> app-routes
(wrap-defaults site-defaults)))