2012-11-24 3 views
7

Ich habe eine Superfish jQuery-Plugin, das 4 js und 1 CSS hat:ASP.NET MVC4 wie man Bündel mit js und css zusammen in einer Regel bildet?

<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" /> 

Ich möchte für all dies ein Bündel zu schaffen, aber wenn ich bundles.Add() aufrufen, kann es nur ein hinzufügen Art des Bündels, ScriptBundle oder 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 

und in der Ansicht, kann ich nur wählen, eine Art von Bündel zu machen:

@Styles.Render or @Script.Render 

Also, meine Frage ist: Ist es möglich, nur ein Bündel Regel mit beiden js und CSS zu erstellen inbegriffen? und aus meiner Sicht möchte ich etwas wie:

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

Antwort

10

Der Hauptgrund, den Sie nicht haben können, hat zu tun, wie Browser diese Dateien behandeln.

  • Stylesheets abzurufen, der HTML-Tag ist <link>
  • Skripten abzurufen, ist der HTML-Tag <script>

Der HTML-Tag ist der Browser, was der Inhalt der Datei informiert.

Auf dem MVC-Server-Seitencode besteht der Hauptgrund für die Verwendung von Bündelung darin, Skript- und Linkdateien in einer einzigen Datei zu kombinieren. Dann um sie zu minimieren. Die Bündelung verwendet verschiedene Minimierungsfunktionen basierend auf dem Dateityp. Wenn Sie Skripte und CSS in einer einzigen Datei kombinieren, wird der resultierende Code durch den Bündelungscode nicht ordnungsgemäß minimiert.

Verwandte Themen