如何在asp.net BundleConfig中忽略特定的bundle以进行优化

时间:2017-08-17 14:30:38

标签: asp.net asp.net-mvc optimization bundle

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery-{version}.js"));

    bundles.Add(new ScriptBundle("~/bundles/angularJs").Include(
              "~/Scripts/angular.min.js"));

    bundles.Add(new ScriptBundle("~/bundles/angularComponents").Include(
                "~/Scripts/angular-route.min.js",
                "~/Scripts/angular-local-storage.min.js",
                "~/Scripts/loading-bar.min.js"));


    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.min.css",
              "~/Content/loading-bar.min.css",
              "~/Content/font-awesome.min.css",
              "~/Content/site.css"));

    bundles.IgnoreList.Clear();
    bundles.IgnoreList.Ignore("*angular-route.min.js", OptimizationMode.Always);
    bundles.IgnoreList.Ignore("*angular-local-storage.min.js", OptimizationMode.Always);
    bundles.IgnoreList.Ignore("*loading-bar.min.js", OptimizationMode.Always);

    BundleTable.EnableOptimizations = true;
}

这里我想从优化中删除此捆绑包(new ScriptBundle("~/bundles/angularComponents"))。我已经尝试了上述方法,但它并没有忽略优化。文件也合并在一起。任何人都可以告诉我如何忽略这个特定的捆绑列表?

4 个答案:

答案 0 :(得分:4)

你可以尝试下面的代码。它会添加相关的脚本,但不要缩小。

var angularComponents = new ScriptBundle("~/bundles/angularComponents").Include(
                 "~/Scripts/angular-route.min.js",
                 "~/Scripts/angular-local-storage.min.js",
                 "~/Scripts/loading-bar.min.js"
                );

            bundles.Add(angularComponents);

            angularComponents.Transforms.Clear();

答案 1 :(得分:1)

    ScriptBundle scriptBndl = new ScriptBundle("~/bundles/bootstrap");
    scriptBndl.Include(
                        "~/Scripts/bootstrap.js",
                        "~/Scripts/respond.js"
                      );
    bundles.Add(scriptBndl);
    BundleTable.EnableOptimizations = true;

答案 2 :(得分:0)

您是否尝试过评论下面提到的行?

//bundles.Add(new ScriptBundle("~/bundles/angularComponents").Include(
    //"~/Scripts/angular-route.min.js",
    //"~/Scripts/angular-local-storage.min.js",
    //"~/Scripts/loading-bar.min.js"));

希望这会有所帮助......

答案 3 :(得分:-1)

如果您不想捆绑脚本,请勿将它们捆绑在一起。我在这里错过了什么吗?创建捆绑包的唯一目的是将一堆脚本连接在一起并最小化。如果您不想这样,那么只需将脚本直接包含在页面上,并且不要让捆绑商参与其中。