MVC的BundleConfig应用

时间:2023-03-10 07:33:12
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中StyleBundleScriptBundle所引入的插件被压缩规则说明

压缩规则:默认会被压缩,将不含.min的插件进行压缩后再引入至页面中,若插件已带有.min则不会被压缩同时也不会引入至页面中。

~故沿用默认规则,需要确保在Bundle中的设置插件不含有.min后缀

~如果要忽略压缩规则,添加以下语句至BundleConfig.cs中的RegisterBundles方法末尾,语法:

BundleTable.EnableOptimizations = false;