Я создаю одностраничное веб-приложение (потому что мне нужна гибкость и скорость при перемещении по страницам / состояниям), но я борюсь с маршрутизацией / URL-адресами ...
В традиционной парадигме я быесть URL-адреса, такие как:
example.com/tools/population-tool/#currentYear=1950
example.com/tools/income-tool/#country=usa
example.com/nice-story/
example.com/nice-chapter/nice-story/
Теперь я хотел бы заменить это на Маршрутизатор (например, с использованием Backbone), который загружает шаблоны и контроллеры для соответствующих маршрутов.
I'mдумая о наличии объекта страниц, в котором хранится необходимая информация о странице:
pages : {
tools : {
template : "#tools",
breadcrumb : ["Home","Tools"]
}
nice-story : {
template : "#nice-story",
breadcrumb : ["Home","Stories","Nice Story"]
}
}
Теперь с помощью маршрутизатора я бы хотел загрузить правильное содержимое и состояние страницы, учитывая URL-адрес, такой как:
example.com / #! / Tools / население-инструмент /? CurrentYear = 1950
или что-то подобное, если не используется Hashbang:
example.com /tools / население-инструмент /? currentYear = 1950
Как бы вы организовали эту маршрутизацию, чтобы схема URL имела смысл, оставаясь гибкой и позволяя перенаправлять и новые параметры строки запроса?