Enrutamiento en Backbone.js / Marionette.js - sin hashtags, lista de rutas y sub-enrutadores

Tengo tres preguntas sobre enrutamiento en Backbone.js / Marionette.js:

1) ¿Cómo puedo obtener una lista de todas las rutas registradas por los enrutadores de mi aplicación?

Por ejemplo, para Express.js (en Node.js) seríaapp.routes.

Estoy intentando hacer lo mismo con Backbone.js / Marionette.js pero no pude encontrar ninguna propiedad o método que hiciera esto.

2) Quiero limpiar mis URL y eliminar el hashtag "#" delante de ellos. Sé que activan los enrutadores. ¿Cómo puedo manejar esto?

Encontré el siguiente script que crea un prototipo del enrutador Backbone, pero es más un hack que una solución estable:Enrutamiento de red troncal simple sin URL de hash

3) ¿Es posible tener sub-enrutadores en Backbone.js / Marionette.js?

Lo que quiero decir con sub enrutador es un enrutador que solo maneja una parte de una url, por ejemplo:

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

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

Esto categorizaría mis URL un poco más permitiéndome definir las rutas principales en AppRouter y todas las subrutas (parte después de la segunda barra diagonal "/") en sub-enrutadores específicos de la categoría.

Entonces, para la siguiente URL: "nombre de host / artículos / ciencia", el proceso de enrutamiento se vería así:

1) pasar "/ articles / science" a AppRouter2) AppRouter divide el URI y toma la parte "/ articles"3) AppRouter encuentra la ruta "/ articles" registrada4) AppRouter reconoce que MyArticleRouter está vinculado a ese elemento URI5) AppRouter reenvía el enrutamiento a ese enrutador y solo pasa el elemento "/ science" como una ruta6) MyArticleRouter enruta "/ science" al someMethod () y lo ejecuta

Gracias de antemano !

Respuestas a la pregunta(1)

Su respuesta a la pregunta