2013-07-15 6 views
6

Dodaję kilka skryptów jQuery do mojej aplikacji przy użyciu klasy bundleconfig.cs.MVC 4 BundleConfig nie tworzy odwołań do skryptów

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js", 
        "~/Scripts/jquery-ui-{version}.js", 
        "~/Scripts/jquery.mCustomScrollbar.min.js", 
        "~/Scripts/jquery.mousewheel.min.js", 
        "~/Scripts/jtable/jquery.jtable.js")); 

Kiedy uruchamiam moją aplikację i sprawdzić źródło strony, tylko niektóre z plików skryptów są wymienione:

<script src="/Scripts/jquery-1.10.2.js"></script> 
<script src="/Scripts/jquery-ui-1.10.3.js"></script> 
<script src="/Scripts/jtable/jquery.jtable.js"></script> 
<script src="/Scripts/jquery-migrate-1.2.1.min.js"></script> 

Dlaczego miałoby to być dzieje? Mogę obejść problem, ręcznie dodając odniesienia do skryptu bezpośrednio do _Layout.cshtml, ale to nie jest najlepsza praktyka.

+0

Czy jesteś pewien, że pliki nie istnieje, a wskazaniu dokładnym ich względnego adresu URL? Większość takich problemów wynika z tego, że pliku nie można znaleźć. – MartinHN

Odpowiedz

14

.min część jest już obsługiwane przez MVC - będzie automatycznie obejmować js plików dla trybu debugowania i .min.js pliki do trybu wyzwalania migawki.

Wystarczy pobrać unminified wersję jquery.mCustomScrollbar.min.js i umieścić go w katalogu scripts, a następnie odwołać go jako: jquery.mCustomScrollbar.js

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js", 
        "~/Scripts/jquery-ui-{version}.js", 
        "~/Scripts/jquery.mCustomScrollbar.js", 
        "~/Scripts/jquery.mousewheel.js", 
        "~/Scripts/jtable/jquery.jtable.js")); 

MVC będzie następnie załaduj odpowiedni skrypt Debugowania/Release

+0

Dzięki Blade. Wydaje się, że uderzasz w gwóźdź w głowę. Wszystkie odwołania do skryptów są teraz poprawnie dołączane. – Swifty

+0

Nie ma problemu, przydarzyło mi się to po raz pierwszy użyłem sprzedaży pakietowej :) – CodingIntrigue

+0

DZIĘKUJEMY! spędziłem kilka godzin ścigając mój ogon w tym .... jutro demo: | – tg2

2

Może być tak, ponieważ nie włączono pakowania. Spróbuj zmienić wartość atrybutu debugowania kompilacji do fałszywego

<compilation debug="false" targetFramework="4.0" /> 

lub włączyć ją ręcznie:

BundleTable.EnableOptimizations = true;