Маршрутизация в Backbone.js / Marionette.js - без хэштегов, списка маршрутов и суб-маршрутизаторов
У меня есть три вопроса о маршрутизации в Backbone.js / Marionette.js:
1) Как я могу получить список всех маршрутов, которые зарегистрировали маршрутизаторы моего приложения?Например, для Express.js (в Node.js) это будетapp.routes
.
Я пытаюсь сделать то же самое с Backbone.js / Marionette.js, но не могу найти свойство или метод, который это сделал.
2) Я хочу очистить свои URL-адреса и удалить перед ними хештег «#», я знаю, что они запускают маршрутизаторы, так как мне это сделать?Я нашел следующий скрипт, который создает прототип Backbone-маршрутизатора, но это скорее взлом, чем стабильное решение:Простая магистральная маршрутизация без хеш-адресов
3) Возможно ли иметь суб-маршрутизаторы в Backbone.js / Marionette.js?Под под маршрутизатором я подразумеваю маршрутизатор, который обрабатывает только часть URL-адреса, например:
var AppRouter = Backbone.Router.extend({
routes: {
'articles' : 'MyArticleRouter'
}
});
var MyArticleRouter = Backbone.Router.extend({
routes: {
'science' : 'someMethod',
'literrature' : 'someOtherMethod'
}
});
Это немного классифицировало бы мои URL-адреса, позволяя мне определять основные маршруты в AppRouter и все подчиненные маршруты (часть после второй косой черты "/") в специфичных для категории суб-маршрутизаторах.
Таким образом, для следующего URL: «имя хоста / статьи / наука», процесс маршрутизации будет выглядеть примерно так:
1) передать "/ статьи / наука" в AppRouter2) AppRouter разбивает URI и принимает часть «/ article»3) AppRouter находит зарегистрированный маршрут "/ статьи"4) AppRouter распознает, что MyArticleRouter связан с этим элементом URI5) AppRouter перенаправляет маршрутизацию на этот маршрутизатор и передает только элемент "/ science" в качестве маршрута.6) MyArticleRouter направляет "/ science" к someMethod () и запускает егоЗаранее спасибо !