【发布时间】:2015-01-18 06:41:27
【问题描述】:
我正在为我的 mvc 应用程序中的脚本和样式创建包。
bundles.Add(新 ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-1.*"));
bundles.Add(新 StyleBundle("~/Content/css").Include("~/Content/CSS/abc.css"));
在这种情况下,由于存在一个真实的目录~/Content/CSS,因此存在名称冲突问题,因此它找不到css并且无法应用样式。所以我将虚拟路径更改为~/Content/styles/css,它可以工作。
所以我在这里有点困惑,虚拟路径在这里如何工作?
【问题讨论】:
-
我想在这种情况下 IIS 决定您正在访问现有目录并且没有将请求传递给 mvc 管道,因此捆绑没有机会工作。可以做个实验:为路由添加handler,检查bundling是否有效。
-
好的@voroninp 但是MVC如何使用虚拟路径来创建包?例如。如果我使用虚拟路径 ~/bundles/jquery 那么这是否意味着它会在这个位置创建捆绑包?
-
这不是简单的路由,在后台为 CSS 或 JS 请求提供特殊控制器吗?不确定,但我就是这样做的。
-
你也可以测试一下。创建工作包和相同的工作路线。看看什么获胜 - 绑定被破坏或控制器的操作没有被调用。
标签: c# asp.net-mvc bundling-and-minification