2012-08-28 4 views
9

30 개 이상의 모듈이있는 응용 프로그램의 경우 backbone + require를 사용할 계획입니다. 각 모듈에 대해 별도의 경로를 만드는 대신, 이와 같은 것을 만들 계획입니다.Backbone.js - 대형 사이트의 동적 라우팅

잘 모르는 경우. 안내해주십시오.

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

답변

1

필자의 관점에서 볼 때, 이것은 완전히 훌륭하고 모범 사례입니다. 그것은 당신의 코드를 가늘고 깨끗하게 유지하고 일어날 일을 이해하기 쉽습니다.

나를 대신 할 수있는 유일한 옵션은 subroutes입니다. 하지만 "디스패치"로직이 모든 모듈에서 동일하기 때문에 아마도 필요하지 않습니다.

6

이 주제에 대해 blog post이라고 썼습니다. 단일 라우터 접근법은 잠시 동안 작동하지만 앞으로는 확장 성 문제에 대해 걱정할 필요가 있습니다.

위에서 언급 한 @schacki와 마찬가지로이 플러그인을 통해 확장 성을 높이고 해당 모듈에서 작업하는 개발자에게 서브 루트의 부담을 넘겨 줄 수 있습니다. Backbone.Subroute 플러그인을 확인하십시오.