Я строю Compojure webapp, состоящий из двух проектов Clojure. Первый - webapp для визуализации некоторых данных, второй - более сложное приложение, которое должно использовать первое.Настройка контекстного пути для маршрутов в Compojure
Я хочу иметь возможность запускать оба приложения одновременно с run-jetty со второго проекта. Это позволит второму webapp вызвать URL-адрес от первого, чтобы получить визуализацию.
Я использую контекст макрос из Compojure, вот маршруты для второго приложения:
(def second-project-main-routes
[
(context "/second" request
(GET "/viewsession" {session :session} (str session))
(GET "/resetsession" [] (reset-session))
... other routes here ...
(route/resources "/"))
])
(def second-all-routes
(concat second-project-main-routes
first-project-routes)
(def second-app
(-> (handler/site (apply routes second-all-routes))
(wrap-base-url)))
;; to comment when building the JAR:
(defonce second-server (run-jetty #'second-app {:join? false :port 8080}))
и здесь маршруты для первого приложения:
(def first-project-routes
[(context "/first" request
(GET "/" [] (index-page))
(route/files "/" {:root (str (System/getProperty "user.dir") "/data/public")})
(route/resources "/"))])
У меня есть два файла main.js. Один в firstproject/ресурсов/общественных/JS/приложение/main.js и один в secondproject/ресурсов/общественных/JS/приложение/main.js
Когда я просматриваю URL локальный: 8080/first/app/js/main.js Я получаю main.js второй проект. Почему так?