MVC Bundling是否允许捆绑包中的每个文件包含多个CDN路径?

时间:2014-09-25 14:32:09

标签: asp.net-mvc bundling-and-minification

我想捆绑2个与Twitter Bootstraps相关的css文件。

"~/Content/Themes/Base/CSS/bootstrap-theme.css"
"~/Content/Themes/Base/CSS/bootstrap.css"

每个文件都有一个单独的URL到其CDN:

//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css
//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css

如何在同一个StyleBundle中为2个单独的css文件提供2个CDN路径? 我是否需要单独创建2个StyleBundle,每个包含一个css文件?这似乎对捆绑的努力起了反作用。

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

您将捆绑如下:

bundles.Add(new StyleBundle("~/Content/bootstrapTheme", "http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css").Include(
                "~/Content/Themes/Base/CSS/bootstrap-theme.css"));

bundles.Add(new StyleBundle("~/Content/bootstrap", "http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css").Include(
                "~/Content/Themes/Base/CSS/bootstrap.css"));

它不会适得其反,因为您需要了解为什么MVC允许您捆绑CDN路径: 捆绑CDN时,CDN标签将在生产中引用,调试时将引用本地版本。

在您的webconfig中,您可以设置渲染哪一个: 设置<compilation debug="true"/>以使用本地文件,并设置<compilation debug="false"/>以使用您的CDN。

在你的视图中调用它:(注意:你在()之间放置的内容必须与StyleBundle中的第一个参数相同。

@Styles.Render("~/Content/bootstrapTheme")
@Styles.Render("~/Content/bootstrap")

答案 1 :(得分:-1)

添加如下所示:

url("http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600");