2013-07-15 5 views
3

Я реализую объединение и минимизацию в MVC4, но не работает, когда я развертываю на сервере IIS. Я использовал ниже код в моем BundleConfig.csenable bundling only not minification in mvc4

public static void RegisterBundles(BundleCollection bundles) 
{ 
    bundles.Add(new StyleBundle("~/Content/styles/siteCss").Include("~/Content/styles/reset.css")); 
    bundles.Add(new ScriptBundle("~/siteJsCommon").Include("~/Scripts/html5.js", 
     "~/Scripts/jquery.js", 
     "~/Scripts/jquery-migrate-1.1.1.js", 
     "~/Scripts/jquery-ui-1.10.3.custom.js", 
     "~/Scripts/carousel.js", 
     "~/Scripts/template.js", 
     "~/Scripts/jquery.validate.js", 
     "~/Scripts/additional-methods.js", 
     "~/Scripts/function.js")); 

    BundleTable.EnableOptimizations = true;  
} 

Даже я проверил в моем web.config. это кажется прекрасным.

<compilation debug="false" targetFramework="4.5" /> 

может кто-нибудь сказать мне, где я делаю ошибку. Можно ли включить только пакет?

Благодаря Ашу

+0

можно дублировать: [ASP.NET Связка, как отключить минификацию] (http://stackoverflow.com/questions/11944745/asp-net-bundles-how-to-disable- minification) – rexcfnghk

+0

Спасибо за ваш ответ. Для этого проще всего было бы сменить Script/StyleBundles на простые пучки, которые по умолчанию не имеют Transform, это приведет к отключению, но все-таки свяжет. можете ли вы предложить мне, как сделать ** plain Bundles ** – Ashutosh

+0

, пожалуйста, предложите мне, как я могу включить только соединение. – Ashutosh

ответ

0

Есть встроенные без каких-либо конфигов/опций, которые позволяют включить пакетирование без минификации.

Однако в Bundles (Script или Style) используется IBundleTransform: Microsoft.Web.Optimisation включает два типа преобразования по умолчанию JsMinify и CssMinify, который используется ScriptBundle и StyleBundle соответственно. Однако мы можем создать собственный собственный тип преобразования для обработки ссылок в соответствии с нашей потребностью или даже лучше не использовать IBundleTransform.

Таким образом, для того, чтобы пакетирования без минификация мы могли бы попробовать это:

//somewhere after all bundles are registered 
    foreach (var bundle in bundles) 
    { 
     bundle.Transforms.Clear(); 
    } 
+0

no его не работает – Ashutosh

+0

Вы работаете в режиме отладки или выпуска? – Cybermaxs

+0

Я использовал оба типа один за другим, но не повезло. – Ashutosh

0

Вы должны зарегистрировать выше созданные пакеты с в Application_Start случае Global.asax вроде как

protected void Application_Start() 
{ 
RegisterBundles(BundleTable.Bundles); 
// Other Code is removed for clarity 
} 

пакетирования и Минимизация не работает в режиме отладки. Поэтому для включения этих функций вам нужно добавить строку ниже кода в приложении Application_Start для Global.asax. защищены недействительный Application_Start()

{ 
BundleConfig.RegisterBundles(BundleTable.Bundles); 
//Enabling Bundling and Minification 
BundleTable.EnableOptimizations = true; 
// Other Code is removed for clarity 
} 
Смежные вопросы