ASP.NET MVC中的嵌套包

时间:2014-12-15 15:16:29

标签: c# asp.net asp.net-mvc nested bundling-and-minification

是否可以在ASP.NET MVC的另一个包中包含一个包?

我想做点什么:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jquery-ui").Include("~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/knockout").Include("~/Scripts/knockout-{version}.js").Include("~/Scripts/knockout.ext.js"));
bundles.Add(
    new ScriptBundle("~/bundles/ui")
    .Include("~/bundles/jquery")
    .Include("~/bundles/jquery-ui")
    .Include("~/bundles/jqueryval")
    .Include("~/bundles/knockout")
    );

1 个答案:

答案 0 :(得分:13)

您可以在字符串数组中定义公共部分

string[] jQuery = new string[] { "~/Scripts/jquery-{version}.js", 
                                 "~/Scripts/jquery-ui-{version}.js" };

然后像这样重复使用

bundles.Add(new ScriptBundle("~/bundles/jQuery")
    .Include(jQuery));

bundles.Add(new ScriptBundle("~/bundles/jQueryVal")
    .Include(jQuery)
    .Include("~/Scripts/jquery.validate*"));