asp.net-mvc-4 - ASP.NET MVC4 如何在一条规则中将 js 和 css 一起创建 bundle ?

标签 asp.net-mvc-4 bundle web-optimization

我有一个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()时,它只能添加一种类型的包,ScriptBundleStyleBundle .

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

并且在 View 中,我只能选择渲染一种类型的包:

@Styles.Render or @Script.Render

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

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

最佳答案

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

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

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

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

关于asp.net-mvc-4 - ASP.NET MVC4 如何在一条规则中将 js 和 css 一起创建 bundle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13539494/

相关文章:

javascript - 强制 Javascript 函数调用等到上一个完成 mvc 4

c# - 如何使用 asp.net mvc 和 razor 模板引擎从 c# 中的路由名称获取 URL?

asp.net-mvc-4 - 预加载并禁用 EditorFor

c# - 将 ViewModel 传递到 CSS 文件中

ios - XCode 4.5.2 : How to reconcile "Failed to attach to process ID 0" with the need for a Resources folder?

html - 我们应该使用 CSS 子选择器还是基于 CSS 类的选择器?

java - 如何从 jar 库创建 OSGi 包?

iphone - bundle 名称和 Apple 应用商店名称有什么区别?

css - 是否可以使用 1 kb .png 图像作为背景图像(重复)?

c# - 带或不带虚拟目录的 CssRewriteUrlTransform