8

我有一个 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" />

我想为所有这些创建一个包,但是当我调用 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

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

@Styles.Render or @Script.Render

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

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

1 回答 1

10

您不能与浏览器如何处理这些文件有关的主要原因。

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

html 标签告诉浏览器文件的内容是什么。

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

于 2012-11-24T13:04:18.973 回答