2012-11-24 6 views
7

Mam plugin Superfish jquery, która ma 4 JS i CSS: 1ASP.NET MVC4 Jak utworzyć pakiet z js i css razem w jednej regule?

<script src="~/Scripts/JQ_Addons/SuperFish/jquery.bgiframe.min.js"></script> 
<script src="~/Scripts/JQ_Addons/SuperFish/hoverIntent.js"></script> 
<script src="~/Scripts/JQ_Addons/SuperFish/supersubs.js"></script> 
<script src="~/Scripts/JQ_Addons/SuperFish/superfish.js"></script> 
<link href="~/Scripts/JQ_Addons/SuperFish/superfish.css" rel="stylesheet" /> 

Chcę utworzyć jedną paczkę za to wszystko, ale gdy zgłoszę bundles.Add(), może tylko dodać jedną rodzaj pakietu, ScriptBundle lub StyleBundle.

bundles.Add(new ScriptBundle("~/bundles/superfish").Include(
      "~/Scripts/JQ_Addons/SuperFish/jquery.bgiframe.min.js", 
      "~/Scripts/JQ_Addons/SuperFish/hoverIntent.js", 
      "~/Scripts/JQ_Addons/SuperFish/supersubs.js", 
      "~/Scripts/JQ_Addons/SuperFish/superfish.js")); // I can not add css here 

iw widoku, mogę tylko wybrać, aby uczynić jeden rodzaj wiązki:

@Styles.Render or @Script.Render 

Więc moje pytanie brzmi: czy to możliwe, aby utworzyć tylko jedną regułę pakiecie z obu JS i CSS w zestawie? i moim zdaniem, chcę coś takiego:

@Bundles.Render("~/bundles/superfish") 

Odpowiedz

10

Głównym powodem nie można ma do czynienia z jak przeglądarka obsługuje tych plików.

  • Aby pobrać arkusze stylów, znacznik HTML jest <link>
  • Aby pobrać skrypty, znacznik HTML jest <script>

Znacznik html informuje przeglądarkę, jaki zawartość pliku jest.

W przypadku kodu po stronie serwera MVC głównym powodem używania łączenia jest łączenie skryptów i plików linków w jeden plik. Następnie, aby je zminimalizować. Wiązanie wykorzystuje różne funkcje minimalizacji w zależności od typu pliku. Jeśli połączysz skrypty i css w jeden plik, kod dołączania nie będzie właściwie minimalizował wynikowego pliku.

Powiązane problemy