8

में माउस मैं .NET 4.5 के minification में बनाया का उपयोग शुरू कर रहा हूँ और कम करें को & मेरी CSS और JavaScript बंडल बांध दिया। जावास्क्रिप्ट minification महान काम करता है, हालांकि, मैं सीएसएस minification के साथ परेशानी में भाग गया है। मैं एक शैली बंडल नीचे कोड का उपयोग कर बना सकते हैं -शैली बंडलों और सीएसएस

var myCss = new string[] 
             { 
              "~/Content/jquery.css", 
              "~/Content/app.css", 
             }; 
bundles.Add(new StyleBundle("~/bundles/MySiteCss/").Include(myCss)); 

और फिर मैं उन्हें .cshtml (उस्तरा फ़ाइल) में संदर्भ नीचे के रूप में -

@Styles.Render("~/bundles/MySiteCss/") 

यह सीएसएस फ़ाइल minifies। हालांकि, अगर सीएसएस फाइलों में शैलियों वाली पृष्ठभूमि होती है जिनमें पृष्ठभूमि-छवि संदर्भ होते हैं, जैसे पृष्ठभूमि-छवि: url ('img/icon.png'), यह इस आइकन फ़ाइल को एक नए स्थान से लोड करने का प्रयास करता है (बंडल नाम से व्युत्पन्न) = /bundles/MySiteCss/img/icon.png

के बाद से आइकन स्थान में मौजूद नहीं है, यह लोड नहीं प्राप्त करता है और पृष्ठ पर प्रदर्शित।

+0

इसे एक पूर्ण यूआरएल में बदलें। – ZippyV

उत्तर

10

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

bundles.Add(new StyleBundle("~/Content/MySiteCss/").Include(myCss)); 

और साथ ही आपके संदर्भ अद्यतन:

@Styles.Render("~/Content/MySiteCss/") 
+0

जो काम करता है, त्वरित उत्तर के लिए धन्यवाद! – govin

+0

मैं बहुत चालाक उन पथों का पुनर्लेखन के लिए किया जाएगा, जबकि कम करने, SquishIt यह कर सकते हैं, दूसरों को भी यह कर सकते हैं bundling करना चाहते हैं, तो मैं एक कारण नहीं देख क्यों माइक्रोसॉफ्ट के बंडलिंग यह नहीं कर सका है। – Giedrius

+0

@Giedrius यह निश्चित रूप से todo सूची पर है –

0

यह Microsoft ASP.NET वेब अनुकूलन के संस्करण 1.1.0-alpha1 में तय किया गया है फ्रेमवर्क।
आप NuGet के माध्यम से अद्यतन (https://nuget.org/packages/Microsoft.AspNet.Web.Optimization) यदि आप प्री-रिलीज़ में शामिल हो सकता है।