2012-12-17 25 views
6

मेरे पास एक backbone.js सिंगल-पेज ऐप है जो राउटर के साथ स्थापित है (ठीक है, वास्तव में एक बैकबोन। मैरियनेट एप बैकबोन.मैरियनेट एपराउटर के साथ, लेकिन फिर भी)। हालांकि, बैकएंड Django में स्थित है, जहां मेरे पास URL उन सभी यूआरएल के विचारों को निर्देशित करने का अधिकार नहीं है जो पहले से ही backbone.js मार्गों में हैं।Django यूआरएल conf और Backbone.js राउटर

Django यूआरएल conf में मौजूदा यूआरएल के आधार पर, बैकबोन.जेएस डीजेगो conf में सूचीबद्ध चीज़ों के बावजूद रीढ़ की हड्डी के मार्गों की सेवा करेगा - ऐसा कुछ लगता है, कुछ भी वहां होना चाहिए।

क्या पुराने ब्राउज़र/एसईओ के लिए फ़ॉलबैक प्रदान करने के लिए मुझे उचित Django विचारों की आवश्यकता है?

Django URL conf और Backbone.js राउटर को समन्वयित करने के लिए सर्वोत्तम प्रथाओं क्या हैं?

उत्तर

2

मैं एक पोस्ट है कि इस मुद्दे को काफी अच्छी तरह से संबोधित करते हैं मिल गया है:

http://duganchen.ca/single-page-web-app-architecture-done-right/

संक्षेप में, एक fallback सहित के लिए अपने तर्क गैर जावास्क्रिप्ट ब्राउज़र और एसईओ कारणों के लिए है। इस पोस्ट के समय, गैर-जावास्क्रिप्ट ब्राउज़र उपयोगकर्ताओं के ~ 1.4% (मैंने जो कुछ भी पढ़ा है, उससे 2% से कम) के लिए खाता है, एसईओ को प्रमुख विचार। फिर, एसईओ इस पोस्ट को पढ़ने वाले सभी के लिए प्रासंगिक नहीं हो सकता है, इस मामले में, इसे छोड़ दिया जा सकता है।

मुझे phantom.js का उपयोग करके थॉमस डेविस का ट्यूटोरियल मिला। http://backbonetutorials.com/seo-for-single-page-apps/

हालांकि, एक और मुद्दा जो मुझे खाते के लिए आवश्यक था, इतिहास एपीआई था, जिसे नवीनतम आईई ब्राउज़र के अलावा सभी ने उपेक्षित कर दिया है। मेरे ग्राहक के उपयोगकर्ताओं को देखते हुए, जिनमें से लगभग 15% आईई < = 9 का उपयोग कर रहे हैं, यह भी एक समस्या थी।

अंत में, मुझे history.js का उपयोग करने की भी आवश्यकता है। सब कुछ, यह एक अन्यथा बहुत ही सरल वेबसाइट को अद्यतन करने के लिए बहुत काम था। हालांकि, मैंने इस त्रासदी से बहुत कुछ सीखा।

1

मेरी राय में यदि आपका रीढ़ की हड्डी वास्तव में एक पृष्ठ है तो आपको किसी भी django विचारों की आवश्यकता नहीं है। आप अपने index.html को स्थिर फ़ाइल (उत्पादन में, डीजेंगो द्वारा भी नहीं) के रूप में सेवा दे सकते हैं और फिर रीढ़ की हड्डी को अपने यूआरएल कॉन्फ़िगरेशन का ख्याल रखना चाहिए, जैसा कि आप पहले से कर रहे हैं। आप रीढ़ की हड्डी के इतिहास का उपयोग कर सकते हैं और नकली यूआरएल पर नेविगेट कर सकते हैं, यूआरएल पैरामीटर इत्यादि को अपने ऐप में संसाधनों के लिए जोड़ सकते हैं।

+0

धन्यवाद! मैं एक गैर-जावास्क्रिप्ट फ़ॉलबैक के लिए खाता करने की उम्मीद कर रहा था, और एसईओ के लिए खाते की आवश्यकता थी। ऊपर मेरा जवाब देखें। – snakesNbronies

संबंधित मुद्दे