MVC的BundleConfig应用
1、MVC可以通过BundleConfig类来配置css和js的统一引用,分别通过StyleBundle和ScriptBundle来创建。
2、可以在母版页中统一加载设置在BundleConfig.cs中的StyleBundle和ScriptBundle
3、格式案例如下:
public static class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.IgnoreList.Clear(); #region //VENDOR RESOURCES //~/Bundles/App/vendor/css bundles.Add( new StyleBundle("~/Bundles/App/vendor/css") .Include("~/Content/themes/base/all.css", new CssRewriteUrlTransform()) .Include("~/Content/bootstrap.min.css", new CssRewriteUrlTransform()) .Include("~/Content/ui.jqgrid-bootstrap.css", new CssRewriteUrlTransform()) ); //~/Bundles/App/vendor/js bundles.Add( new ScriptBundle("~/Bundles/App/vendor/js") .Include( "~/Scripts/jquery-2.2.4.js", "~/Scripts/jquery-ui-1.11.4.js", "~/Scripts/jquery.validate.js", "~/Scripts/modernizr-2.8.3.js", "~/Abp/ie10fix.js", "~/Scripts/json2.min.js", "~/Scripts/i18n/grid.locale-cn.js", "~/Scripts/jquery.jqGrid.min.js" ); #endregion BundleTable.EnableOptimizations = false; } }
说明:
1)母板页中加载Bundle格式如下:
@Styles.Render("~/Bundles/App/vendor/css") //~/Bundles/App/vendor/css为定义在BundleConfig中的StyleBundle @Scripts.Render("~/Bundles/App/vendor/js") //~/Bundles/App/vendor/js为定义在BundleConfig中的ScriptBundle
2)在BundleConfig.cs中StyleBundle和ScriptBundle所引入的插件被压缩规则说明
压缩规则:默认会被压缩,将不含.min的插件进行压缩后再引入至页面中,若插件已带有.min则不会被压缩同时也不会引入至页面中。
~故沿用默认规则,需要确保在Bundle中的设置插件不含有.min后缀
~如果要忽略压缩规则,添加以下语句至BundleConfig.cs中的RegisterBundles方法末尾,语法:
BundleTable.EnableOptimizations = false;