Включите оптимизацию

Когда я включаю мои BundleTable.EnableOptimizations в моем проекте MVC для моих файлов JavaScript, он не загружает ни один из файлов. Я также не получаю никаких ошибок. Он просто не загрузит ни один из моих файлов.

Это моя связка:

bundles.Add(new ScriptBundle("~/Content/javascripts").Include(
                    "~/Content/js/custom.js",
                    "~/Content/js/customizer.js",
                    "~/Content/js/main.js",
                    "~/Content/js/bootstrap.js",
                    "~/Content/js/jquery-ui-min.js",
                    "~/Content/js/bootstrap-switch-min.js"
                    ));

И на мой взгляд:

@Scripts.Render("~/Content/javascripts")

Все файлы существуют, потому что, когда я отключаю оптимизацию, она снова работает нормально.

2 ответа

Решение

Это может быть ошибочным ваш виртуальный путь ~/Content/javascripts для реального пути. Попробуйте это вместо этого.

bundles.Add(new ScriptBundle("~/bundles/javascripts").Include(
                "~/Content/js/custom.js",
                "~/Content/js/customizer.js",
                "~/Content/js/main.js",
                "~/Content/js/bootstrap.js",
                "~/Content/js/jquery-ui-min.js",
                "~/Content/js/bootstrap-switch-min.js"
                ));

И по вашему мнению.

@Scripts.Render("~/bundles/javascripts")

Когда вы включаете Оптимизацию комплекта в MVC, он использует виртуальную папку ~/Bundles/JQuery? V =xxxxx. в моем случае было отказано в доступе (используйте инструмент F12), потому что из-за этой виртуальной папки "связки" не разрешали доступ без входа в систему. Я добавил путь к пакетам в веб-конфигурацию как:

  <location path="bundles">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

надеюсь это поможет

Другие вопросы по тегам