Backbone.js-大型站点的动态路由

Backbone.js-大型站点的动态路由,backbone.js,requirejs,backbone-routing,Backbone.js,Requirejs,Backbone Routing,我计划将主干+需求用于一个有30多个模块的应用程序。我计划创建类似这样的东西,而不是为每个模块创建单独的路由 不确定这是不是最佳实践。请导游 routes: { ":module" : "routeLevelOne", ":module/:id" : "routeLevelTwo", }, routeLevelOne: function(module){ require(['views/' + module + '

我计划将主干+需求用于一个有30多个模块的应用程序。我计划创建类似这样的东西,而不是为每个模块创建单独的路由

不确定这是不是最佳实践。请导游

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);  
       }
    );
},

在我看来,这是完全正确的,也是最佳实践。它使您的代码简洁明了,并且很容易理解应该发生什么

对我来说,唯一的选择就是这样。但是,由于您的“分派”逻辑在所有模块中似乎都是相同的,所以这可能不是必需的。

我写了一篇关于这个主题的文章。单路由器方法可能会工作一段时间,但您担心将来的可伸缩性问题是正确的

正如上面提到的@schacki,请检查我的插件以使其更具可伸缩性,并将子例程的负担转移给处理这些模块的开发人员