2012-09-18 3 views
9

Używam Asp.Net MVC 4 i wbudowaną obsługę sprzedaży pakietowej. W BundleConfig.cs mam dodanie domyślny jquery w metodzie RegisterBundles:Pakiet ASP.Net MVC nie używa istniejącego .min.js

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

Mam też zarówno jquery-1.8.0.js i jquery-1.8.0.min.js zawarte w moim projekcie.

Wszystko działa poprawnie podczas debugowania, ale kiedy ustawię debug="false", aby przetestować pakowanie, wydaje się, że minimalizuje domyślny plik jquery, zamiast używać już istniejącej wersji minifikowanej. Kiedy przeglądam "min" wersję jquery w moim projekcie, zawiera ona mały komentarz u góry, a pierwsza definicja metody to function(a,b). Kiedy przeglądam dane wyjściowe w przeglądarce, brakuje komentarza, a pierwsza definicja metody jest inna.

Czy ktoś jeszcze widział ten problem? W jaki sposób mogę uzyskać mechanizm grupowania do korzystania z istniejącego pliku .min, a nie do ponownej modernizacji?

+0

Ta odpowiedź może pomóc http://stackoverflow.com/a/12901050/230390 – Jaider

Odpowiedz

0

Czy istnieje szczególny powód, dla którego nie chcesz, aby plik został uzupełniony? Powinno być bezpieczne. Obecnie nie ma możliwości selektywnego wyłączenia częściowej minifikacji, w zasadzie wszystkie pliki są najpierw pakowane razem, a następnie cały pakiet jest zminimalizowany.

Ale gdy debug = false, powinien używać pliku jquery-1.8.0.min.js w przeciwieństwie do pliku jquery-1.8.0.js.

+0

Najpierw starałem się zrozumieć, jak działa pakowanie w pary, ponieważ dokumenty mówią, że zostanie użyta wersja .min i nie pojawi się w ten sposób. Po drugie, obecne wersje Opera mają błąd, który dławi dynamicznie zminimalizowaną wersję. [patrz tutaj] (http://ajaxmin.codeplex.com/workitem/17812) – AdmSteck

+1

Ponieważ tylko pakujesz jeden plik, a jego już minified, możesz po prostu utworzyć zwykły pakiet zamiast pakietu ScriptBundle, który nigdy nie zminimalizuje plik. –

2

Pliki z min w nazwie są wykluczane podczas dodawania plików z dzikimi kartami, spróbuj zmienić nazwę pliku bez wartości min w nazwie.

7

ten może być ustawiony przez ustawienie usePreMinifiedFiles atrybut na true w pliku web.config

<core enableTracing="false" ...> 
    <js defaultMinifier="EdwardsJsMinifier" usePreMinifiedFiles="true"> 
+0

Dziękujemy! W mojej wersji BundleTransformer.Configuration.xsd 'usePreMinifiedFiles = true' jest domyślnie, ale potrzebuję wartości' false'. – dizel3d

+0

Czy możesz mi pomóc z moim pytaniem http://stackoverflow.com/questions/26925521/how-to-prevent-usage-of-min-js-in-bundletransformer – dizel3d