2012-02-17 12 views
5

मैं वर्तमान में एक रेल एप्लिकेशन को डिवेलोइंग कर रहा हूं जो jquery, backbone.js और d3.js. सहित कुछ जावास्क्रिप्ट पुस्तकालयों का भारी उपयोग करता है। Jquery के लिए, रीढ़ की हड्डी के लिए jquery-rails gem है, हमारे पास backbone-rails है। लेकिन ऐसा कुछ भी नहीं है d3.js. के लिएरेलवे में जावास्क्रिप्ट पुस्तकालयों को अद्यतित रखने का सबसे अच्छा तरीका क्या है?

मैंने जावास्क्रिप्ट को d3.js से अपने भंडार में कॉपी किया है, यह मेरे लिए थोड़ा अशुद्ध लगता है, क्योंकि जब डी 3 अपडेट हो जाता है, तो मुझे इसे फिर से कॉपी करना होगा (और मुझे ध्यान देना होगा कि डी 3 अपडेट हो गया है!) । मैंने गिट submodules के बारे में सोचा, लेकिन जब भी मैं भंडार की जांच करता हूं मुझे उन्हें मैन्युअल रूप से खींचना होगा। क्या बंडलर को डी 3 रिपोजिटरी की एक विशिष्ट रिलीज की जांच करने का तरीका हो सकता है?

आप रेल में तीसरे पक्ष के जावास्क्रिप्ट पुस्तकालयों को अद्यतन करने में कैसे संभालते हैं? क्या कोई पसंदीदा तरीका है?

+1

उन्हें जीआईटी के बाहर छोड़ दें और इसे मैन्युअल रूप से करें। –

उत्तर

5

यदि कोई नहीं है तो डी 3-रेल मणि क्यों न बनाएं? अब सम्मेलन इन जावास्क्रिप्ट पुस्तकालयों को अपने स्वयं के रत्नों में रखता है, जिसमें रेलवे 3.1 में अब jquery-rails शामिल हैं। यह अब और अधिक काम है लेकिन यह आपके लिए सड़क के नीचे भुगतान कर सकता है। आप समुदाय की मदद करेंगे और यह आपके ऐप के भीतर आसान अपडेट करेगा।

+0

हां। निम्न प्रश्न देखें: http://stackoverflow.com/questions/9525381/asset-pipeline-encoding-problems-utf-8-vs-ascii-8bit-with-external-gem – iblue

7

सुनिश्चित नहीं हैं कि आप इस के लिए क्यों downvoted गया ...

लेकिन मैं टिप्पणी है कि यह मैन्युअल रूप से ऐसा करने के लिए कहते हैं के साथ सहमत करने के लिए जा रहा हूँ। मैं इसे अपने भंडार से नहीं छोड़ूंगा - इसके लिए कोई कॉल नहीं; आप अपने वर्तमान संस्करण को चारों ओर रखना चाहते हैं - लेकिन मैं इसे स्वचालित रूप से अपडेट करने की अनुशंसा नहीं करता।

यह स्थिरता के लिए है। यदि आप जेएस के "भारी उपयोग" को कहते हैं, तो एक क्विर्क - या यहां तक ​​कि एक बग के लिए एक बगफिक्स भी आपने काम किया - लाइब्रेरी के नवीनतम संस्करण में आपके कोड के साथ विनाश हो सकता है। हमें इस तरह से कुछ मिल गया जब jQuery ने दो संस्करणों के बीच attr() और prop() का इलाज किया।

तो आप हमेशा अपने पुस्तकालयों मैन्युअल रूप से अपडेट करता है, तो:

  • तुम हमेशा पता है जब वे बदल जाते हैं, और आप परिवर्तनों को सार्वजनिक करने से पहले कुछ पूरी तरह से परीक्षण करने के लिए है।
  • यदि आप प्रदर्शन करना चाहते हैं, या आप नवीनतम क्विर्क, या जो कुछ भी काम करने के लिए समय देने के लिए लाइब्रेरी के पुराने संस्करण के साथ रह सकते हैं।

आशा है कि मदद करता है!

+0

@Xavier Holt के साथ Concur। हालांकि यह आपके प्रश्न का उत्तर नहीं देता है, मुझे लगता है कि आपको अच्छी सलाह मिली है। ** एक बार ** हमने परीक्षण किए बिना jQuery को अपडेट किया और पाया कि बुरी चीजें हुईं। एक निर्भरता को अद्यतन करने के बाद यूआई परीक्षण के पूर्ण दौर के लिए – Tass

+0

+1। ExtJS को अपग्रेड करने से हमारे यूआई का बहुत भयानक टूट गया। – Brandan

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

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