Rozumiem i doceniam nowy pakiet wildware {version} regex, ponieważ będzie on nadal pobierał biblioteki skryptów i stylów nawet po aktualizacji itp. Problem polega na tym, że nie może sprawić, by działał skutecznie.MVC4 Bundling Wildcards - * vs. {wersja}
Wcześniej użyć następującego zapisu odebrać moje skrypty jQuery:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*"));
i byłoby zebrać wszystkie pliki pasujące do wieloznaczny gwiazdka.
Ale kiedy próbowałem następujące:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
zauważyłem, że plik jQuery nie został wypisany do strony _Layout.cshtml.
UWAGA - ja rzeczywiście stosując następujący kod HTML na obu przykładach:
@Scripts.Render("~/bundles/jquery")
Kiedy używam pierwszy przykład powyżej („*”) notacji jest napisane na stronie następujący:
<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script>
Jednak kiedy używam notacji "{version}", jest tylko puste miejsce, w którym powinna być zapisana biblioteka. Dotyczy to zarówno plików jquery, jak i powiązanych arkuszy stylów CSS.
Nie ma znaczenia, czy kompiluję dla trybu DEBUG lub RELEASE. Wyniki są takie same. Oczywiście w trybie zwolnienia Wezmę wersję zoptymalizowaną przy użyciu „*” notację:
<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script>
Więc będąc perfekcjonistą, że wszyscy deweloperzy są wielce bym chciał zobaczyć prace {version} notacji dla mnie, ponieważ mam aktualne informacje o nowych wersjach i chciałbym, aby ta kontrola w moich wdrożeniach.
Każdy wgląd w to, co robię źle, jest bardzo doceniany.
Dzięki z góry, Dan
W jakiej wersji .Net prowadzisz projekt? Uważam, że istnieje ograniczenie do .net 4.5 dla słowa kluczowego {version}. –
Cześć John, rzeczywiście używam frameworka .Net 4.5, i być może właśnie tam pochodzą niektóre problemy. Wydaje mi się, że to wystarczająco długo, aby działało do tej pory, chociaż nie sprawdziłem, ponieważ * notacja działa i pozwala mi iść naprzód. – djmarquette
Czy w rozwiązaniu są dostępne zarówno pliki .min.js, jak i .js pliku jQuery? We wcześniejszych wersjach optymalizacji sieci Web istniało założenie dotyczące używania plików .min w trybie wydania i plików bez .min w debugowaniu, nawet jeśli plik nie istnieje. To zachowanie zostało zmienione w późniejszych wersjach. Zobacz http://aspnetoptimization.codeplex.com/workitem/32. Nie jestem pewien, czy to był twój problem, ponieważ nazwa pliku, który cytujesz, jest bez nazwy .min. – pwdst