Search code examples
asp.net-mvc-4.net-4.5asp.net-optimizationweb-optimization

Upgrading Web Optimization Framework to RTM


When I upgrade from Microsoft ASP.NET Web Optimization Framework 1.0.0-beta2 to Microsoft ASP.NET Web Optimization Framework 1.0.0 via nuget some of my scripts are no longer rendered to the page. This seems pretty strange and im wondering if I need to do some modification to upgrade this.

With beta2 i get the following scripts rendered:

<script src="/Scripts/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-1.8.1.js" type="text/javascript"></script>
<script src="/Scripts/less-1.3.0.min.js" type="text/javascript"></script>
<script src="/Scripts/bootstrap.min.js" type="text/javascript"></script>
<script src="/Scripts/coffee-script.js" type="text/javascript"></script>
<script src="/Scripts/underscore-min.js" type="text/javascript"></script>
<script src="/Scripts/knockout-2.0.0.js" type="text/javascript"></script>
<script src="/Scripts/knockout-2.1.0.js" type="text/javascript"></script>
<script src="/Scripts/backbone-min.js" type="text/javascript"></script>
<script src="/Scripts/backbone-modelref.js" type="text/javascript"></script>
<script src="/Scripts/backbone-relational.js" type="text/javascript"></script>
<script src="/Scripts/knockback.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.gridster.min.js" type="text/javascript"></script>
<script src="/Scripts/dragdealer.js" type="text/javascript"></script>
<script src="/Scripts/pminject.coffee" type="text/javascript"></script>

but with the RTM I only get:

<script src="/Scripts/jquery-1.8.1.js"></script>
<script src="/Scripts/coffee-script.js"></script>
<script src="/Scripts/underscore-min.js"></script>
<script src="/Scripts/knockout-2.0.0.debug.js"></script>
<script src="/Scripts/knockout-2.1.0.debug.js"></script>
<script src="/Scripts/backbone-min.js"></script>
<script src="/Scripts/backbone-modelref.js"></script>
<script src="/Scripts/backbone-relational.js"></script>
<script src="/Scripts/dragdealer.js"></script>
<script src="/Scripts/pminject.coffee"></script>

my bundle config is pretty simple:

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

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery-ui*"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));

            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/openid").Include(
                        "~/Scripts/openid-jquery.js",
                        "~/Scripts/openid-en.js"));

            bundles.Add(new ScriptBundle("~/bundles/less").Include(
                        "~/Scripts/less-1.*"));

            bundles.Add(new ScriptBundle("~/bundles/coffeescript").Include(
                        "~/Scripts/coffee-script.js"));

            bundles.Add(new ScriptBundle("~/bundles/underscore").Include(
                        "~/Scripts/underscore-min.js"));

            bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
                        "~/Scripts/knockout-2.*"));

            bundles.Add(new ScriptBundle("~/bundles/backbone").Include(
                        "~/Scripts/backbone-*"));

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

            bundles.Add(new ScriptBundle("~/bundles/gridster").Include(
                        "~/Scripts/jquery.gridster.min.js"));

            bundles.Add(new ScriptBundle("~/bundles/dragdealer").Include(
                        "~/Scripts/dragdealer.js"));

            bundles.Add(new ScriptBundle("~/bundles/pminject").Include(
                        "~/Scripts/pminject.coffee"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                        "~/Scripts/bootstrap.min.js"));
}

Does anyone know if there are additional steps or changes I need to do to upgrade this?


Solution

  • One difference from Beta to RTM is that *.min.js is ignored by default when debug mode = true. You can work around this by either clearing the IgnoreList on BundleTable.Bundles, or you can rename any files which only have a .min.js version to just .js so they are included.

    This behavior is causing issues for many people so we are looking into how to make this better in a feature version.