Bundling मैं नए minification बाहर की कोशिश कर दिया गया है और ASP.NET MVC 4 में सुविधा बांध दिया, और यह जब तक आप CSS और JS फ़ाइलों के लिए डिफ़ॉल्ट फ़ोल्डर परंपराओं का उपयोग महान काम करता है।ASP.NET अनुकूलन -
/Content
/Scripts
मैं आमतौर पर मैं इस तरह अपने खुद के बंडलों को पंजीकृत करने की कोशिश की एक फ़ोल्डर इस
/Static/Css
/Static/Js
तरह स्टेटिक बुलाया में सीएसएस और स्क्रिप्ट डाल:
public static class BundleCollectionExtensions
{
public static void RegisterScriptsAndCss(this BundleCollection bundles)
{
var bootstrapCss = new Bundle("~/Static/Css", new CssMinify());
bootstrapCss.AddDirectory("~/Static/Css", "*.css");
bootstrapCss.AddFile("~/Static/Css/MvcValidation.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap-responsive.min.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap.min.css");
bundles.Add(bootstrapCss);
var bootstrapJs = new Bundle("~/Static/Js", new JsMinify());
bootstrapJs.AddDirectory("~/Static/Js", "*.js");
bootstrapJs.AddFile("~/Static/Js/jquery-1.7.1.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.unobtrusive.min.js");
bootstrapJs.AddFile("~/Static/Js/bootstrap.min.js");
bootstrapJs.AddFile("~/Static/Js/gunsforhire.js");
bundles.Add(bootstrapJs);
}
}
और
मेंGlobal.ascx.cs
मैंने यह किया:
BundleTable.Bundles.RegisterScriptsAndCss();
उत्पन्न मार्कअप इस तरह दिखता है:
<link href="/Static/Css?v=D9JdmLZFFwjRwraNKfA1uei_YMoBoqLf-gFc0zHivM41" rel="stylesheet" type="text/css" />
<script src="/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1" type="text/javascript"></script>
हालांकि यह काम नहीं करता है, अनुरोध इस तरह दिखता है:
Request URL:http://localhost:49603/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1
Request Method:GET
Status Code:301 Moved Permanently (from cache)
Query String Parametersview URL encoded
v:mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1
Request URL:http://localhost:49603/Static/Js/?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1
Request Method:GET
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Host:localhost:49603
Referer:http://localhost:49603/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
Query String Parametersview URL encoded
v:mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1
Response Headersview source
Cache-Control:private
Content-Length:4757
Content-Type:text/html; charset=utf-8
Date:Thu, 01 Mar 2012 19:05:44 GMT
Server:Microsoft-IIS/7.5
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B? QzpcQENvZGVccGVsbGVccGVsbGVoZW5yaWtzc29uLnNlXHNyY1xXZWJcU3RhdGljXEpzXA==?=
क्या मैं गलत कर रहा हूँ?
अद्यतन
मुझे लगता है कि मैं अंत में निम्न तरीके से हल करने में सक्षम था:
AddDirectory निकाला जा रहा है बंडलों रास्तों कि प्रतिबिंबित नहीं करते देते
bootstrapCss.AddDirectory("~/Static/Css", "*.css");
कॉल असली निर्देशिका संरचना
आपके द्वारा 2 का मतलब क्या है "बंडल पथ देना जो वास्तविक निर्देशिका संरचना को प्रतिबिंबित नहीं करता है"? – CallMeLaNN
यदि आपके पास इस/स्क्रिप्ट/ऐप की निर्देशिका संरचना है तो आपको उस पथ का उपयोग बंडल में नहीं करना चाहिए ("~/स्क्रिप्ट/ऐप ") या कम से कम मुझे कुछ समस्याएं थीं जो एमवीसी 4 आरसी में थीं। पेराप एस अब कोई समस्या नहीं है। – Pelle
हाय, क्या आपके पास कोई सुराग है जो नामस्थान मुझे याद आ रही है? मुझे bootstrapcss में Addfile या AddDirectory नहीं मिल रहा है। ? – Sakthivel