10

मैं ASP.NET MVC4 System.Web.Optimization bundling में देख रहा हूँ और सोच रहा था कि कैसे आप स्थानीय एक सर्वर के लिए एक CDN और दूसरों से कुछ सीएसएस फ़ाइलें ऊपर की सेवा के बारे में जाना होगा?एएसपी.नेट एमवीसी 4 बंडलिंग सीएसएस कुछ सीडीएन पर सर्वर के लिए कुछ स्थानीय?

क्या यह संभव है?

ऐसा लगता है कि bundles.UseCdn = true संग्रह स्तर पर है और व्यक्तिगत बंडल की सेटिंग नहीं है।

किसी भी मार्गदर्शन की सराहना की जाएगी।

उत्तर

9

, सही है, आप कुछ व्यक्तिगत संपत्ति CDN और कुछ स्थानीय स्तर से आने के साथ एक बंडल नहीं हो सकता इस समय। मूल रूप से इसके या तो: आप बंडल को स्थानीय सर्वर के बंडल पर फ़ॉलबैक के साथ सीडीएन का उपयोग कर सकते हैं, या संपूर्ण बंडल सीडीएन पर होना चाहिए।

अद्यतन: लेकिन स्पष्ट करने के लिए, आप सीडीएन और कुछ बंडल स्थानीय पर कुछ बंडल प्राप्त कर सकते हैं। यह बंडल उदाहरण पर सीडीएनपाथ द्वारा नियंत्रित होता है। असल में यदि किसी व्यक्तिगत बंडल पर कोई सीडीएनपाथ सेट नहीं है, तो इसे हमेशा स्थानीय रूप से परोसा जाएगा।

18

ASP.NET site has some information इस बारे में:

निम्न कोड की जगह स्थानीय jQuery एक CDN jQuery बंडल के साथ बंडल।

public static void RegisterBundles(BundleCollection bundles) 
{ 
    //bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    //   "~/Scripts/jquery-{version}.js")); 

    bundles.UseCdn = true; //enable CDN support 

    //add link to jquery on the CDN 
    var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"; 

    bundles.Add(new ScriptBundle("~/bundles/jquery", 
       jqueryCdnPath).Include(
       "~/Scripts/jquery-{version}.js")); 

    // Code removed for clarity. 
} 

उपरोक्त कोड में, jQuery CDN से अनुरोध किया जाएगा, जबकि रिलीज़ मोड और jQuery के डिबग संस्करण में डिबग मोड में स्थानीय स्तर पर दिलवाया कर दिया जाएगा। सीडीएन का उपयोग करते समय, सीडीएन अनुरोध विफल होने पर आपके पास फॉलबैक तंत्र होना चाहिए। लेआउट फ़ाइल के अंत से निम्न मार्कअप खंड, jQuery को अनुरोध करने के लिए जोड़ा गया स्क्रिप्ट दिखाता है सीडीएन विफल होना चाहिए।

व्यक्तिगत रूप से, मुझे jQuery, नॉकआउट या किसी अन्य लाइब्रेरी से खुद को डीबगिंग कोड नहीं मिला है। मैं हमेशा अपने लेआउट में सीडीएन संसाधन का संदर्भ देता हूं। मुझे अपनी रोल करने की ज़रूरत वाली कोई भी स्क्रिप्ट मैं फिर एमवीसी ढांचे का उपयोग करके बंडल करता हूं।

मेरे साइटों को आमतौर पर कुछ इस तरह दिखाई: अभी केवल CDN समर्थन एक प्रति बंडल स्तर पर है

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
@Scripts.Render("~/content/js/siteName") 
संबंधित मुद्दे