在ASP.NET MVC5应用程序中,我有多个CSS和JS文件,我试图使用下面的代码捆绑它们
bundles.Add(new StyleBundle("~/myBundles/css").Include(
"~/lib/css/nivo-slider.css",
"~/css/core.css",
"~/css/shortcode/shortcodes.css",
"~/style.css",
"~/css/responsive.css",
"~/css/color/color-core.css",
"~/css/custom.css",
"~/myDefaultSS.css"
));
我在_Layout页面中使用它:
@Styles.Render("~/myBundles/css")
使用它时,我在下面的页面的hmlt源中看到了
<link href="/myBundles/css?v=xt5fim6H60Umm4DuM_5iVudeIEOkrcbgXzG0o3CHtlU1" rel="stylesheet"/>
使用此功能后,我的网页无法正常显示。我认为这是因为我正在捆绑来自不同目录的文件。是对的吗?我该如何解决这个问题?
答案 0 :(得分:1)
捆绑样式时不要使用@import
css指令。如果您发布了网站的发布版本,那么它就无法运行。如果您检查网络流量[F12],您会看到网络上找不到导入的css文件,因为优化不会用正确的路径替换@import
网址。
因此,不要使用与导入的css文件捆绑或关闭捆绑优化并通过其他方式优化它们。
可以通过Web.Config中的以下行关闭优化:
<compilation debug="true" targetFramework="4.5"/>
此外,您可以在C#中使用此代码:
BundleTable.EnableOptimizations = false;