Bundle Config не работает в режиме релиза - PullRequest
0 голосов
/ 25 июня 2018

У меня есть проект .NET MVC.Я управляю всеми файлами .css и .js в моем файле BundleConfig.Это прекрасно работает в режиме локальной отладки.Но когда я запускаю этот режим выпуска проекта, создайте все файлы JavaScript с пакетом, как;

<script src="/bundles/alljquery?v=UzNlCXfliUxnARi00NzVdOS0lml6av0Kte2hPdkLmLw1"></script>

Я видел эту строку в моем DOM, но она не работает.Например, я пишу предупреждение в функции, которая не работает.

Я искал примерную строку JavaScript в комплекте и нашел ее.поэтому он на самом деле загружает файл.Но я не видел предупреждений или других действий.

Это мой метод RegisterBundles;

public static void RegisterBundles(BundleCollection bundles)
        {
            #if !DEBUG
              BundleTable.EnableOptimizations = true;
            #endif
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

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

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js",
                      "~/Scripts/respond.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.css",
                      "~/Content/site.css"));

            bundles.Add(new StyleBundle("~/Content/Sitecss").IncludeDirectory("~/Content/css", "*.css",true)); 

            bundles.Add(new ScriptBundle("~/bundles/alljquery").IncludeDirectory("~/Content/js", "*.js", true));

            var jsFiles = Directory.GetFiles(HttpContext.Current.Server.MapPath("/Content/Pages"), "*.js");
            foreach (var jsFile in jsFiles)
            {
                var bundleName = Path.GetFileNameWithoutExtension(jsFile);
                bundles.Add(new ScriptBundle("~/bundles/jsMrT/" + bundleName).Include(
                "~/Content/pages/" + Path.GetFileName(jsFile)));
            }


        }

Я пытаюсь это;

BundleTable.EnableOptimizations = true;

И я пытаюсь это;

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
        <remove name="BundleModule" />
        <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
    </modules>
</system.webServer>

Как я могу это решить?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Добавить в веб-конфигурацию.

<configuration>
   <system.web>
     <compilation debug="true" />
   </system.web>
</configuration>
0 голосов
/ 26 июня 2018

Я думаю, что все методы javascript чередуются и дублируются, поэтому я закрываю пакет и добавляю макет всех сценариев в руководство. Это может быть из библиотек, которые я использую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...