2016-11-15 172 views
1

我正在使用客戶端路由的ClojureScript單頁應用。我想實現一個簡單的服務器,將服務我的index.html以及CSS/JS。我們的想法是將所有請求從/ static/*傳遞給客戶端,並讓我的SPA來處理它。結果出乎意料地困難。下面的代碼片段是我想出來的,但它不起作用。用於客戶端路由的SPA的Clojure服務器配置

(defroutes routes 
    (GET "/" [] 
    (resp/content-type template "text/html")) 
    (context "/static" [] 
    (route/resources "/css" {:root "css"}) 
    (route/resources "/js" {:root "js"})) 
    (route/not-found 
    (resp/content-type template "text/html"))) 

我使用boot -http和自定義處理程序。任何可能導致它的機會?

+0

當你沒有提供你的項目佈局如何,你的'build.boot'文件和你得到的錯誤信息時,很難提供幫助。你能否爲你的問題添加更多信息? –

+0

感謝您的回覆!實際上,我不認爲它在這裏相關...在這裏看不到任何具體的啓動...只有3個文件服務 – walkthroughthecode

+1

那麼你是什麼意思的「它不工作」? –

回答

-1

聽起來像你根本不需要後端;您可以使用boot -http/boot-reload進行開發,並將其部署到gh頁面,firebase,aws或任何靜態文件主機。有關模板項目#nobackend,請參閱https://github.com/martinklepsch/tenzing

+0

你仍然需要一個自定義處理程序來啓動http的'serve'命令。它默認不支持客戶端路由SPA(訪問http:// localhost:3000/some/page would 404)。 – Laurent

相關問題