मान लीजिये
- CDN एक अच्छी बात है क्योंकि वे क्लाइंट के करीब संसाधनों की सेवा कर सकते हैं, क्लाइंट उन्हें कैश कर सकता है, और आप अपने सर्वर पर लोड को कम कर सकते हैं।
- हाल के ब्राउज़रों में, थर्ड-पार्टी सर्वर से संसाधन लोड करने से सबस्रोइट इंटीग्रिटी (SRI) के लिए सुरक्षा में कमी नहीं होती है ।
- सीडीएन कुछ देशों में नीचे या अवरुद्ध हो सकते हैं, और ऑफ़लाइन 1 विकसित करते समय उपलब्ध नहीं हैं ।
मुझे लगता है कि यह सीडीएन का उपयोग करने के लिए मजबूर कर रहा है, लेकिन उनके लिए भी अनुपलब्ध रहने के लिए तैयार रहना चाहिए। यह ब्लॉग पोस्ट, कमियां प्रदान करने के लिए विभिन्न दृष्टिकोणों का एक अच्छा परिचय देता है। यदि आप मूल उदाहरण को देखते हैं, तो आप देख सकते हैं कि इसमें पहले से ही jQuery और बूटस्ट्रैप के लिए कमियां प्रदान करने के लिए पहले से ही बहुत सारे बॉयलरप्लेट कोड हैं, जबकि पसंदीदा समाधान Fallback.js का उपयोग करने का सुझाव देता है , जो कि पिछले वर्ष के लिए काफी हद तक अप्राप्य लगता है। । इसी तरह, इस विषय के लिए सबसे प्रासंगिक एसओ प्रश्न केवल jQuery के लिए एक कमबैक प्रदान करने के बारे में है।
हालांकि, अधिकांश वास्तविक दुनिया की परियोजनाओं में, मुझे 5 या अधिक जेएस / सीएसएस संसाधन होने की उम्मीद है, इसलिए मुझे लगता है कि आपको उन सभी के लिए कमियां प्रदान करने के लिए कुछ गन्दा बॉयलरप्लेट दोहराना नहीं चाहिए। इसके अलावा, हर बार जब आप किसी संसाधन को जोड़ते या अपडेट करते हैं, तो आपको अब करना होगा
- CDN लिंक को अपडेट करें
- Npm / bower config में मैनुअल डाउनलोड या बदलते संस्करण द्वारा स्थानीय फॉलबैक कॉपी को अपडेट करें
- लिंक को फ़ॉलबैक में अपडेट करें
- SRI हैश को अपडेट करें
जबकि आदर्श विश्व में , मैं एक कॉन्फ़िगरेशन फ़ाइल में संसाधन को जोड़ने / अपडेट करने की अपेक्षा करूंगा, और अन्य सभी चरणों को स्वचालित रूप से निष्पादित किया जाएगा (और फिर परीक्षण चलाकर देखें कि क्या अद्यतन कुछ भी टूट गया है)।
क्या इसे प्राप्त करने के लिए पहले से ही एक स्थापित वर्कफ़्लो है?
या CDN, और विशेष रूप से SRI, अभी भी हाल ही में हैं?
या ज्यादातर लोग सीडीएन संसाधनों के लिए कमियां प्रदान करने की परवाह नहीं करते हैं?
1. यद्यपि आप एक देव निर्माण कर सकते हैं जो CDNs पर निर्भर नहीं करता है, लेकिन मैं यह भी मानता हूं कि एक प्रकार की गिरावट, क्योंकि इसे भी बनाए रखने की आवश्यकता है।
Fallback.js
unmaintained क्योंकि यह पहले से ही पूरी तरह से काम करता है? अगर यह पहले से ही काम करता है तो सॉफ्टवेयर को हर 5 मिनट में बदलना नहीं है।