Конфигурация сервера Clojure для SPA с клиентской маршрутизацией

Я работаю над одностраничным приложением ClojureScript с маршрутизацией на стороне клиента. Я хотел бы реализовать простой сервер, который бы обслуживал мой index.html, а также CSS/JS. Идея состоит в том, чтобы передать все запросы, кроме /static/*, клиентской стороне и разрешить моему SPA работать с ним.

Это оказалось удивительно сложно. Ниже приведен фрагмент кода, но он не работает.

(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 с пользовательским обработчиком. Есть ли шанс, что это может вызвать это?

1 ответ

Похоже, вам вообще не нужен бэкэнд; вы можете разработать с помощью boot-http/boot-reload и развернуть его на gh-pages, firebase, aws или любом статическом хосте файлов. Смотрите https://github.com/martinklepsch/tenzing для шаблона проекта #nobackend.

Другие вопросы по тегам