Ошибка JavaScript в Asp.Net MVC 4 Bundling

Когда я использую приведенное ниже связывание в MVC 4, мое приложение получает несколько ошибок JavaScript, таких как "jQuery undefined"

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

Но когда я использую описанный ниже подход, мое приложение работает без ошибок JavaScript:

        bundles.Add(new ScriptBundle("~/bundles/jquery1").Include(
                    "~/Scripts/jquery-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jquery2").Include(
                    "~/Scripts/jquery-ui-{version}.js"));

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

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

Мой вопрос: в чем проблема?

2 ответа

Решение

Это вызвано тем, что ваши сценарии включены в неправильном порядке. Вы должны убедиться, что ваша версия Web Optimization Framework обновлена. Этот ответ предоставляет более подробную информацию:

/questions/5288308/kak-ya-mogu-ukazat-yavnyij-poryadok-vklyucheniya-scriptbundle/5288323#5288323

И пакет NuGet:

http://nuget.org/packages/Microsoft.AspNet.Web.Optimization

Решение:

Я обновил Microsoft.AspNet.Web.Optimization с версии 1.0.0 до версии 1.1.0-Beta1, теперь мое приложение работает правильно.