我有一个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
并且在 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/