2012-08-28 11 views
9

Ho intenzione di utilizzare backbone + per un'applicazione con più di 30 moduli. Invece di creare un percorso separato per ogni modulo, ho intenzione di creare qualcosa di simile.Backbone.js - Routing dinamico per un sito di grandi dimensioni

Non sono sicuro che si tratti di una procedura ottimale. Per favore guida.

routes: { 
    ":module"     : "routeLevelOne", 
    ":module/:id"    : "routeLevelTwo", 
}, 

routeLevelOne: function(module){ 
    require(['views/' + module + 'View',], 
     function(){ 
      require('views/' + module + 'View').render(); 
     } 
    ); 
}, 

routeLevelTwo: function(module, id){ 
    require(['views/' + module + 'View',], 
     function(){ 
      require('views/' + module + 'View').renderWithId(id); 
     } 
    ); 
}, 

risposta

1

Dal mio punto di vista, questo è assolutamente valido ed è la migliore pratica. Mantiene il tuo codice snello e pulito ed è molto facile capire cosa dovrebbe accadere.

L'unica opzione alternativa per me sarebbe qualcosa come subroutes. Ma dal momento che la tua logica di "invio" sembra essere la stessa in tutti i moduli, probabilmente non è necessaria.

6

Ho scritto uno blog post su questo argomento. L'approccio single-router potrebbe funzionare per un po ', ma hai ragione a preoccuparti dei problemi di scalabilità in futuro.

Come @schacki menzionato sopra, controlla il mio plug-in Backbone.Subroute per renderlo più scalabile e trasferisci il burdon di subroutes agli sviluppatori che lavorano su quei moduli.

Problemi correlati