10

私はを束ねるASP.NET MVC4 System.Web.Optimizationに探していますし、あなたがローカルサーバーにCDN他人から何らかのCSSファイルを提供行くだろうか不思議でしたか?ASP.NET MVC4バンドルCSSの一部は、CDNの一部のローカルサーバーですか?

これは可能ですか?

bundles.UseCdn = trueはコレクションレベルであり、個々のバンドルの設定ではありません。

ガイダンスをいただければ幸いです。これについて

答えて

9

正しいを現時点では。基本的にはそのか、またはバンドルにローカルサーバのバンドルへのフォールバックを伴うcdnを使用させることができます。バンドル全体はCDN上になければなりません。

更新:しかし、明確にするために、CDN上のバンドルとローカルのバンドルを持つことができます。これはバンドルインスタンスのCdnPathによって制御されます。基本的に、個々のバンドルにCdnPathが設定されていない場合は、常にローカルに配信されます。

18

ASP.NET site has some information

次のコードは、ローカルのjQueryのCDNの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. 
} 

解除モードとjQueryのデバッグバージョンでローカルに デバッグモードでフェッチされるが、jQueryのがCDNから要求されるであろう。 CDNを使用する場合は、CDN要求が失敗した場合の代替メカニズム が必要です。レイアウトファイルの末尾にある の次のマークアップフラグメントは、 CDNが失敗した場合にjQueryを要求するスクリプトを追加したものです。

個人的には、jQuery、Knockout、または他のライブラリからコードをデバッグすることは個人的にはありません。私は常に自分のレイアウトで直接CDNリソースを参照します。自分自身をロールバックする必要のあるスクリプトは、MVCフレームワークを使ってバンドルします。

私のサイトは通常、このような何かを見て:のみCDNのサポートがバンドルあたりのレベルであり、今、あなたには、いくつかの個々の資産がCDNから来るとのバンドルを持つことができないと、ローカルにいくつかの、

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
@Scripts.Render("~/content/js/siteName") 
関連する問題