Zanim będzie można odpowiedzieć na pytanie, co było przyczyną tego błędu, należy najpierw dowiedzieć się, w którym wystąpił błąd. Jedyną różnicą w składni kodu w pakiecie jest to, że jest on zminimalizowany. Bardzo prosty sposób, aby to zrobić jest użycie Bundle
zamiast ScriptBundle
:
var thirdParty = new Bundle("~/bundles/thirdParty").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/bootstrap.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.mockjson.js",
"~/Scripts/jQuery.XDomainRequest.js",
"~/Scripts/knockout-{version}.js"
);
thirdParty.Transforms.Clear();
bundles.Add(thirdParty);
Teraz, jeśli masz kilka wiązek JavaScript, zrób to dla nich jeden po drugim, aż masz wiązkę winowajcą.
Jedynym sposobem znalazłem debugować tych kwestii jest, aby wziąć swój tobołek i podzielić ją na pół rozbicie go dalej:
var thirdParty1 = new Bundle("~/bundles/thirdParty1").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/bootstrap.js",
"~/Scripts/jquery-ui-{version}.js"
);
bundles.Add(thirdParty1);
var thirdParty2 = new ScriptBundle("~/bundles/thirdParty2").Include(
"~/Scripts/jquery.mockjson.js",
"~/Scripts/jQuery.XDomainRequest.js",
"~/Scripts/knockout-{version}.js"
);
bundles.Add(thirdParty2);
Zauważ, że mamy tylko niepełnosprawnego minifikacji dla jednego z dwa zestawy - thirdParty1
. Upewnij się i zaktualizuj swój @Scripts.Render
, aby wskazywał na nowe pakiety. Podczas budowania i przeładowywania, nadal będziesz otrzymywał błąd, lub nie, i wtedy będziesz wiedział, która połowa zawiera kłopotliwy kod. Ale bądź pewien i przetestuj to w obu kierunkach, minimalizując thirdParty1
i unminifying thirdParty2
w moim przykładzie i na odwrót, aby mieć pewność, że coś innego się nie dzieje. Możesz również chcieć zachować DevTools lub dowolny inny debagger przeglądarkowy i sprawdzić źródło swoich pakietów, aby upewnić się, że działają zgodnie z oczekiwaniami.
Kontynuuj, przesyłając skrypty ze zminimalizowanego pakietu (thirdParty1
w moim przypadku) z niezamocowanego pakietu (thirdParty2
) pojedynczo lub w częściach, jeśli masz dużo skryptów. Pamiętaj, aby odbudować w międzyczasie i uważaj, aby nie zmieniać kolejności dodawania skryptów.
To powinno przynajmniej doprowadzić cię do pliku, który ma problem - i mam nadzieję, że poszukiwanie "<" dostarczy ci odpowiedzi.
Nadzieję, że pomaga.
I trudno było problemów debugowania w trybie zwolnienia podczas korzystania MVC łączenia w pakiet, ale jeden błąd znalazłem się co mijał już minified JS/CSS do silnika do pakowania w wiązki - tylko przekazać go skrypty un-minified, sprzedaż wiązana silnik zminimalizuje się. – CodingIntrigue
Dzięki. Nie posiadasz żadnego minifikowanego JS/CSS ... –
Czy używasz odpowiednich wywołań '@ Scripts.Render()' i '@ Styles.Render()'? Czy sprawdziłeś konsolę przeglądarki, aby zobaczyć, co powraca? – CodingIntrigue