私は ASP.NET MVC 4 で Angular JS を使用しており、スクリプト バンドルを使用して cdn からロードし、次のような cdn 障害の場合にはオリジン サーバーからもロードしています。
var jQuery = new ScriptBundle("~/bundles/scripts/jquery",
"//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js") // CDN
.Include("~/Scripts/jquery-{version}.js"); // Local fallback
jQuery.CdnFallbackExpression = "window.jQuery"; // Test existence
bundles.Add(jQuery);
と
var angular = new ScriptBundle("~/bundles/scripts/angular",
"//ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js")
.Include("~/Scripts/angular.js");
angular.CdnFallbackExpression = "window.angular";
bundles.Add(angular);
window.jQuery と window.Angular をそれぞれ使用して、jQuery または AngularJS が存在するかどうかを検出するのはかなり簡単です。ASP.NET バンドル メカニズムは、CdnFallbackExpression テキストを評価して、元のサーバーにフォールバックする必要があるかどうかを確認します。
ただし、AngularJS の新しいバージョンでは、ngRoute や ngResource などの他のモジュールが独自のファイルに分割され、開発者の裁量で読み込まれます。
他の AngularJS モジュールがロードされているかどうかを検出するにはどうすればよいですか? ngAnimate、ngRoute、ngResource などが CDN からの読み込みに成功したかどうかを確認するには、コンソールに何を入力すればよいですか?