2016-11-15 4 views
1

私はClojureScriptシングルページアプリケーションをクライアントサイドでルーティングしています。私はCSS/JSだけでなく、index.htmlにも役立つシンプルなサーバーを実装したいと思います。アイデアは/静的/ *から離れてすべての要求をクライアント側に渡し、私の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-pages、firebase、aws、または任意の静的ファイルホストにデプロイすることができます。テンプレートプロジェクト#nobackendについては、https://github.com/martinklepsch/tenzingを参照してください。

+0

boot-httpの 'serve'コマンドのためにカスタムハンドラが必要です。デフォルトではクライアント側のルーティングを持つSPAはサポートされていません(http:// localhost:3000/some/page 404を参照)。 – Laurent

関連する問題