Подтвердить что ты не робот

Связки и минимизация ASP.Net MVC

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

    public static void RegisterBundles(BundleCollection _bundles)
    {
        _bundles.Add(new ScriptBundle("~/bundles/toNotMinify").Include(
            "~/Scripts/xxxxxx.js"
            ));

        _bundles.Add(new ScriptBundle("~/bundles/toMinify").Include(
            "~/Scripts/yyyyy.js"
            ));
        etc..

Это основной макет в моем классе конфигурации пакета. Я хочу найти способ, чтобы все мои связки были минимизированы, кроме первого. Это возможно? Пока единственное решение, которое я нашел для достижения чего-то подобного, - это отключить минизацию по всему миру.

4b9b3361

Ответ 1

У вас есть несколько вариантов, вы можете либо заменить использование ScriptBundle на Bundle, как в этом примере:

_bundles.Add(new Bundle("~/bundles/toNotMinify").Include(
    "~/Scripts/xxxxxx.js"
));

.. или вы можете отключить все преобразования для вновь созданного пакета, например:

var noMinify = new ScriptBundle("~/bundles/toNotMinify").Include(
    "~/Scripts/xxxxxx.js"
);
noMinify.Transforms.Clear();
_bundles.Add(noMinify);

Очевидно, первое решение намного красивее:)

Ответ 2

Вам просто нужно объявить общий объект Bundle и указать необходимые вам преобразования:

var dontMinify = new Bundle("~/bundles/toNotMinify").Include(
                                        "~/Scripts/xxxxx.js");
            bundles.Add(dontMinify);

            var minify = new Bundle("~/bundles/toNotMinify").Include(
                "~/Scripts/yyyyyy.js");
            minify.Transforms.Add(new JsMinify());
            bundles.Add(minify);