2015-10-12 6 views
8

रेल ट्यूटोरियल पर विभिन्न रूबी बूटस्ट्रैप-एसएएस मणि के प्रजनन को प्रोत्साहित करती है। सीडीएन को इंगित करने के बजाए यह एक सम्मेलन क्यों है?बूटस्ट्रैप-सास जेम बनाम। सीडीएन

मैं अपने ऐप के शीर्षक में शामिल किया है:

<!-- BOOTSTRAP CSS 3.3.5 CDN: --> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"> 

और पाद लेख में:

<!-- BOOTSTRAP JS 3.3.5 CDN --><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" type="text/javascript"></script> 

मान लिया जाये कि मैं हमेशा एक विकास बॉक्स इंटरनेट से जुड़ा है से काम कर रहा हूँ: क्या एक सीडीएन को इंगित करने के बजाए बूटस्ट्रैप मणि का उपयोग करने के पीछे तर्क है? क्या सीडीएन को इंगित करना हमेशा तेज़ नहीं होता है जहां एक ग्राहक के पास पहले से कैश की गई फाइल होने की संभावना है?

उत्तर

10

संभावित कारण रेल 'ट्यूटोरियल का सुझाव है कि bootstrap-sass मणि सिर्फ सुविधा की बात है; रेल के डेवलपर्स के रूप में हम तीसरे पक्ष के पुस्तकालयों को एकीकृत करने के लिए हमारे जेमफाइल में एक लाइन जोड़ने के लिए उपयोग किए जाते हैं।

मणि के लिए अतिरिक्त लाभ हैं: bundle install के बाद आपको अपने विकास पर्यावरण की संपत्तियों को लोड करने के लिए इंटरनेट कनेक्शन की आवश्यकता नहीं होगी (बाहरी सीडीएन से कनेक्ट करने की आवश्यकता नहीं है)। बूटस्ट्रैप मिश्रित चर को ओवरराइड करने और ढांचे को अनुकूलित करने के लिए आप SASS का उपयोग भी कर सकते हैं।

इन लाभों को एक तरफ, अगर आप बूटस्ट्रैप को अनुकूलित नहीं कर रहे हैं वहाँ के उत्पादन में boostrap-sass मणि उपयोग करने की आवश्यकता है। वास्तव में ग्राहकों के बारे में आपका तर्क संभवतः पहले से ही सामान्य जेएस/सीएसएस ढांचे के सीडीएन होस्ट किए गए संस्करण निश्चित रूप से मान्य है।

लघु जवाब: एक सम्मेलन के रूप में boostrap-sass मणि के बारे में सोच नहीं है। यह अनुकूलन के लिए एक अच्छा प्रारंभिक बिंदु है लेकिन यदि कोई अनुकूलन की आवश्यकता नहीं है तो सीडीएन के साथ जाना उचित है।

+0

मान लिया जाये कि संस्करण एक ही हैं, यह में बूटस्ट्रैप मणि शामिल करने के लिए उचित होगा: आदेश इंटरनेट के बिना स्थानीय विकास के लिए अनुमति देने के लिए "समूह विकास?" – woodenfox

+0

सामान्य रूप से, मैं एक अलग सीएसएस फ़ाइल में बूटस्ट्रैप होने के लिए किसी भी अनुकूलन की अपेक्षा करता हूं (इसलिए आप मूल बूटस्ट्रैप फ़ाइलों को सीधे संशोधित नहीं करते हैं)। मुझे एक कारण देखने में कठिनाई हो रही है कि आप कभी भी बूटस्ट्रैप-सास मणि को उत्पादन में क्यों चलाएंगे। – woodenfox

+0

आप ऐसा कर सकते हैं लेकिन आपको Rails.env के आधार पर बूटस्ट्रैप के सीडीएन या स्थानीय संस्करण को सशर्त रूप से संदर्भित करने के लिए अपने दृश्य लेआउट और/या संपत्ति मेनिफेस्ट फ़ाइलों में संशोधन करना होगा। –

-1

सीडीएन का उपयोग केवल आपको सीएसएस देता है, आपकी एचटीएमएल फाइलों को एक विशिष्ट बूटस्ट्रैप संस्करण में हार्ड-वायरिंग देता है। इसके विपरीत बूटस्ट्रैप के एस.ए.एस.एस./कम संस्करण का उपयोग आप अपने HTML पर अर्थ कक्षाएं डाल दिया, और अपने अनुप्रयोग विशिष्ट एस.ए.एस.एस. में अपने अर्थ वर्गों और बूटस्ट्रैप के बीच संबंध बनाने के लिए/कम फ़ाइलें (का उपयोग कर @import, @extend ... बयान)

की अनुमति देता है

आप इस तकनीक बुद्धिमानी से इस्तेमाल करते हैं, तो आप छोटे डाउनलोड आकार के साथ खत्म हो जाएगा के बाद से आप केवल बूटस्ट्रैप के कुछ हिस्सों आप वास्तव में अपने आवेदन में उपयोग आयात करते हैं, और आप चिंताओं में से साफ जुदाई होगा, आप सास/कम चौखटे स्विच करने के लिए अनुमति देता है अपनी एचटीएमएल फाइलों को छूए बिना (आदर्श)।