2012-08-28 10 views
9

के लिए गतिशील रूटिंग मैं बैकबोन + का उपयोग करने की योजना बना रहा हूं जिसमें 30 से अधिक मॉड्यूल हैं। प्रत्येक मॉड्यूल के लिए अलग मार्ग बनाने के बजाय, मैं इस तरह कुछ बनाने की योजना बना रहा हूं।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 लिखा था। एकल राउटर दृष्टिकोण थोड़ी देर के लिए काम कर सकता है, लेकिन आप भविष्य में स्केलेबिलिटी मुद्दों के बारे में चिंता करने का अधिकार रखते हैं।

उपरोक्त वर्णित @ स्काची के रूप में, यह Backbone.Subroute प्लगइन को और अधिक स्केलेबल बनाने के लिए देखें, और उन मॉड्यूल पर काम कर रहे डेवलपर्स को सबराउट्स का बोझ स्थानांतरित करें।