From 567edbd07a22d0f6d3f45b11b40e703b2f1fed3e Mon Sep 17 00:00:00 2001 From: Juho Teperi Date: Thu, 23 Aug 2018 10:05:10 +0300 Subject: [PATCH] Serve index.html for all request in html5 routing mode --- examples/frontend-controllers/project.clj | 4 +++- .../frontend-controllers/resources/public/index.html | 2 +- examples/frontend-controllers/src/backend/server.clj | 11 +++++++++++ examples/frontend/project.clj | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 examples/frontend-controllers/src/backend/server.clj diff --git a/examples/frontend-controllers/project.clj b/examples/frontend-controllers/project.clj index feab3f83..e758882b 100644 --- a/examples/frontend-controllers/project.clj +++ b/examples/frontend-controllers/project.clj @@ -49,4 +49,6 @@ :figwheel {:http-server-root "public" :server-port 3449 - :nrepl-port 7002}) + :nrepl-port 7002 + ;; Server index.html for all routes for HTML5 routing + :ring-handler backend.server/handler}) diff --git a/examples/frontend-controllers/resources/public/index.html b/examples/frontend-controllers/resources/public/index.html index bbad514c..ce1dd45b 100644 --- a/examples/frontend-controllers/resources/public/index.html +++ b/examples/frontend-controllers/resources/public/index.html @@ -5,6 +5,6 @@
- + diff --git a/examples/frontend-controllers/src/backend/server.clj b/examples/frontend-controllers/src/backend/server.clj new file mode 100644 index 00000000..88171cfa --- /dev/null +++ b/examples/frontend-controllers/src/backend/server.clj @@ -0,0 +1,11 @@ +(ns backend.server + (:require [clojure.java.io :as io] + [ring.util.response :as resp] + [ring.middleware.content-type :as content-type])) + +(def handler + (-> (fn [request] + (or (resp/resource-response (:uri request) {:root "public"}) + (-> (resp/resource-response "index.html" {:root "public"}) + (resp/content-type "text/html")))) + content-type/wrap-content-type)) diff --git a/examples/frontend/project.clj b/examples/frontend/project.clj index 8416bc0a..4f651748 100644 --- a/examples/frontend/project.clj +++ b/examples/frontend/project.clj @@ -52,4 +52,5 @@ :figwheel {:http-server-root "public" :server-port 3449 :nrepl-port 7002 + ;; Server index.html for all routes for HTML5 routing :ring-handler backend.server/handler})