在 Asp.Net MVC 5 应用程序中,我正在创建一个样式包egisterBundles
method.
我在用着jquery-ui
.
而不是列出所有jquery-ui
我单独使用的 css 文件all.css
,导入所有其余的。
代码如下所示:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/a.css",
"~/Content/b.css",
"~/Content/themes/base/all.css"));
all.css 包含两行:
@import "base.css";
@import "theme.css";
这有效,但仅当我设置时
BundleTable.EnableOptimizations = false.
当我设置
BundleTable.EnableOptimizations = true
那么 jquery css 都不会加载。
当然有一个简单的解决方法;我可以将 jquery-ui css 文件单独添加到捆绑包中。
但我很好奇:为什么当 css 文件被捆绑和缩小时 all.css 会中断?
这似乎不是特定于浏览器的,因为我在两个浏览器中都有同样的问题IE9 and 铬39.
根据这个答案,默认压缩器根本不支持 @import 指令:
MVC4 捆绑 CSS 失败意外标记,找到“@import”
此外,jquery-ui css 文件包含图像的相对路径,因此捆绑包的虚拟路径必须允许浏览器找到图像的相对路径,例如:
bundles.Add(new StyleBundle("~/Content/themes/base/jqueryui")
.Include("~/Content/themes/base/core.css" [and other desired css files]));
在cshtml页面上:
@Styles.Render("~/Content/themes/base/jqueryui")
请参阅此链接以获取说明:MVC4 StyleBundle 无法解析图像
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)