Ken*_*rdt 11 css cdn asp.net-mvc-4 bundling-and-minification asp.net-optimization
我正在研究ASP.NET MVC4 System.Web.Optimization捆绑,并想知道如何从CDN和其他本地服务器提供一些CSS文件?
那可能吗?
它看起来像bundles.UseCdn = true在集合级别而不是单个包的设置.
任何指导将不胜感激.
Jus*_*son 19
在ASP.NET网站有一些信息,这一点:
以下代码使用CDN jQuery包替换本地jQuery包.
public static void RegisterBundles(BundleCollection bundles)
{
//bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
// "~/Scripts/jquery-{version}.js"));
bundles.UseCdn = true; //enable CDN support
//add link to jquery on the CDN
var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";
bundles.Add(new ScriptBundle("~/bundles/jquery",
jqueryCdnPath).Include(
"~/Scripts/jquery-{version}.js"));
// Code removed for clarity.
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,将在发布模式下从CDN请求jQuery,并且将在调试模式下本地获取jQuery的调试版本.使用CDN时,如果CDN请求失败,您应该有一个回退机制.布局文件末尾的以下标记片段显示在CDN失败时添加到请求jQuery的脚本.
就个人而言,我没有发现自己从jQuery,Knockout或任何其他库调试代码.我总是直接在我的布局中引用CDN资源.我需要自己滚动的任何脚本然后使用MVC框架进行捆绑.
我的网站通常看起来像这样:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
@Scripts.Render("~/content/js/siteName")
Run Code Online (Sandbox Code Playgroud)
正确,现在唯一的CDN支持是在每个捆绑级别上,你不能拥有来自CDN的一些单独资产和一些本地的资产.基本上它是或者:你可以让bundle使用cdn with fallback到本地服务器的bundle,或者整个bundle必须在CDN上.
更新:但要澄清一下,你可以在CDN和一些本地捆绑包上有一些捆绑包.这是由bundle实例上的CdnPath控制的.基本上,如果单个包上没有设置CdnPath,它将始终在本地提供.
| 归档时间: |
|
| 查看次数: |
7008 次 |
| 最近记录: |