如何在MVC4 StyleBundle中引用* .min.css文件?

时间:2013-05-21 18:39:19

标签: c# .net asp.net-mvc asp.net-mvc-4 bundle

我在MVC4应用程序中使用Kendo UI。我已经决定将CSS和JS引用移动到bundle。我创建了一个这样的包:

bundles.Add(new StyleBundle("~/bundles/baseCSS").Include(
            "~/Content/CSS/Shared/Site.css",
            "~/Content/CSS/plugins/jquery.jgrowl.css",
            "~/Content/Kendo/kendo.common.min.css",
            "~/Content/Kendo/kendo.blueopal.min.css"));

我在_Layout.cshtml中引用了这样的包,如下所示:

Styles.Render("~/bundles/baseCSS")

我的页面的HTML(在调试模式下)只呈现site.css和jquery.jgrowl.css引用。如果我重命名kendo CSS文件并删除其名称的“min”部分并更改我的包中的字符串,它可以正常工作。为什么我不能引用.min?

另外,我在BundleConfig中明确禁用了优化。

2 个答案:

答案 0 :(得分:4)

在构建调试时,它会根据需要使用min。在构建发布时,它使用min。通过在您的配置中添加min,可能需要min.min

这是一篇包含大量信息Bundler not including .min files

的帖子

答案 1 :(得分:1)

在捆绑中你不能使用min,因为当你在bundle中添加一个css或js文件时它会自动缩小文件。

您可以直接从布局中引用文件,例如..

<link rel="stylesheet" href="~/Content/Kendo/kendo.common.min.css" />

或者您可以从文件名中删除.min扩展名,然后添加到包中,例如..

bundles.Add(new StyleBundle("~/bundles/baseCSS").Include(
            "~/Content/CSS/Shared/Site.css",
            "~/Content/CSS/plugins/jquery.jgrowl.css",
            "~/Content/Kendo/kendo.common.css",
            "~/Content/Kendo/kendo.blueopal.css"));