ASP.NET MVC4如何在一个规则中一起创建带有js和css的bundle?

Edi*_*ang 7 bundle web-optimization asp.net-mvc-4

我有一个superfish jquery插件,它有4个js和1个css:

<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" />
Run Code Online (Sandbox Code Playgroud)

我想为所有这些创建一个包,但是当我调用bundles.Add()时,它只能添加一种类型的包,ScriptBundle或者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
Run Code Online (Sandbox Code Playgroud)

在视图中,我只能选择渲染一种类型的包:

@Styles.Render or @Script.Render
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:是否可以只创建一个包含js和css的捆绑规则?在我看来,我想要的东西:

@Bundles.Render("~/bundles/superfish")
Run Code Online (Sandbox Code Playgroud)

pho*_*tom 10

您无法与浏览器处理这些文件的方式有关的主要原因.

  • 要检索样式表,html标记是 <link>
  • 要检索脚本,html标记是 <script>

html标记告诉浏览器文件的内容是什么.

在MVC服务器端代码中,使用捆绑的主要原因是将脚本和链接文件合并到一个文件中.然后最小化它们.Bundling根据文件类型使用不同的最小化函数.如果将脚本和css组合到单个文件中,则捆绑代码将无法正确地最小化生成的文件.