Routing w Backbone.js / Marionette.js - brak hashtagów, listy tras i routerów podrzędnych

Mam trzy pytania dotyczące routingu w Backbone.js / Marionette.js:

1) Jak mogę uzyskać listę wszystkich tras zarejestrowanych przez routery mojej aplikacji?

Na przykład dla Express.js (w Node.js) takapp.routes.

Próbuję zrobić to samo z Backbone.js / Marionette.js, ale nie mogłem znaleźć żadnej właściwości lub metody, która to zrobiła.

2) Chcę wyczyścić moje adresy URL i usunąć hashtag „#” przed nimi, wiem, że uruchamiają Routery, więc jak mogę to zrobić?

Znalazłem następujący skrypt, który prototypuje router Backbone, ale jest to bardziej hack niż stabilne rozwiązanie:Prosty routing szkieletowy bez adresów URL mieszania

3) Czy możliwe jest posiadanie sub-routerów w Backbone.js / Marionette.js?

Pod-router ma na myśli router, który obsługuje tylko część adresu URL, np .:

var AppRouter = Backbone.Router.extend({
    routes: {
        'articles' : 'MyArticleRouter'
    }
});

var MyArticleRouter = Backbone.Router.extend({
    routes: {
        'science' : 'someMethod',
        'literrature' : 'someOtherMethod'
    }
});

To spowoduje, że moje adresy URL zostaną nieco skategoryzowane, pozwalając mi zdefiniować główne trasy w AppRouter i wszystkie podprogramy (część po drugim ukośniku „/”) w pod routerach.

Tak więc dla następującego adresu URL: „nazwa hosta / artykuły / nauka” proces routingu wyglądałby mniej więcej tak:

1) przekazać „/ articles / science” do AppRouter2) AppRouter dzieli URI i bierze część „/ articles”3) AppRouter znajduje zarejestrowaną trasę „/ artykuły”4) AppRouter rozpoznaje, że MyArticleRouter jest powiązany z tym elementem URI5) AppRouter przekazuje routing do tego routera i przekazuje tylko element „/ science” jako trasę6) MyArticleRouter kieruje „/ science” do someMethod () i uruchamia go

Z góry dziękuję !

questionAnswers(1)

yourAnswerToTheQuestion