我正在开发一个Clojure / ClojureScript SPA,它基于http-kit,compojure和后端的微小打嗝,主要是前端的试剂。项目由leiningen完成,基于手工失事的栗子模板。
当我尝试制作比#34; /"更复杂的网址时以下设置给我带来了麻烦:
当产生初始打嗝来提供HTML并添加包含CSS和JS文件时,我按照示例添加它们作为相对网址,如
(include-css "css/style.css")
;and
(include-js "js/compiled/out/goog/base.js")
(include-js "js/compiled/myproject.js")
(注意开头没有斜线)
"js/compiled/out"
当然,当我尝试使用除http://my-domain/something之外的http://my-domain/网址向同一页面添加路由并加载它时,该东西无法获得我的任何资产(尝试在例如/something/js/compiled/myproject.js
下获取它们。
我能够通过使这些url相对于root(在每个URL之前加上斜杠)来解决明确包含的资产的问题。它给我带来了与cljsbuild注入src="js/compiled/out/cljs_deps.js"
的脚本标签相同的问题,但是这个我通过制作:相对于root的资产路径来修复。
这一切似乎现在都正常工作,但事实上我不得不做一些令人头疼的事和令人惊讶的大量谷歌搜索才能最终解决这个问题让我觉得这不是默认方法。因此问题:
更新 我应用程序的组件路线的相关部分如下所示:
(defroutes home-routes
(resources "/")
(GET "/" _
(friend/authenticated
(html-response
(app-page))))
(GET "/something*" _
(friend/authenticated
(html-response
(app-page)))))