我计划对具有30个以上模块的应用程序使用backbone + require。我没有为每个模块创建单独的路线,而是计划创建这样的东西。
不确定这是最佳做法。请指导。
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);
}
);
},
答案 0 :(得分:6)
我写了一篇关于这个话题的blog post。单路由器方法可能会工作一段时间,但您将来担心可扩展性问题是正确的。
正如上面提到的@schacki,查看我的Backbone.Subroute插件,使其更具可扩展性,并将子路径的负担转移给处理这些模块的开发人员。
答案 1 :(得分:1)
从我的观点来看,这是完全正常的,是最好的做法。它使您的代码保持精简和清洁,并且很容易理解应该发生的事情。
对我来说,唯一的选择就是subroutes。但由于您的“调度”逻辑似乎在所有模块中都是相同的,因此可能不需要。