Я создаю приложение yesod, которое состоит из двух частей. Остальное API (yesod) и клиентская часть (angularjs).
Помимо того, что это API для отдыха, yesod также отправляет исходный html клиенту для запуска angularjs. У меня работает так:
конфиг/маршруты:
/user GET
/someOtherEntity GET POST
/ HomeR GET --route to send the html
Обработчик/Home.hs
getHomeR :: Handler Html
getHomeR = sendFile typeHtml "frontend/build/index.html"
Пока первый URL-адрес www.mydomain.com/, это работает нормально, но когда я перехожу на www.mydomain/some-angular/route, я получаю 404 от yesod.
Я пробовал это:
/#Text HomeR GET
Это отлично работает для /my-angular-route, но ломается в /my-angular-route/param. Я мог бы добавить /#Text/#Text, я полагаю, но, конечно, есть более чистый способ справиться с этим.
Как я могу реализовать какой-то универсальный маршрут? Поэтому всякий раз, когда это не URL-адрес, соответствующий маршруту, он должен просто вызывать getHomeR.