2

jQuery をホストするための CDN の使用に関する MVC ブログを多数読みました。彼らは皆、「上記のコードでは、リリース モードで jQuery が CDN から要求され、jQuery のデバッグ バージョンがデバッグ モードでローカルにフェッチされる」と言っています。(例: http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification )

ただし、このコードを書くと:

// Enable CDN support
bundles.UseCdn = true;   

//add link to jquery on the CDN
const string jqueryCdnPath = "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";
bundles.Add(new ScriptBundle("~/bundles/jquery",jqueryCdnPath)
                        .Include("~/Scripts/jquery-{version}.js"));

...そしてMVCアプリをデバッグすると、Google APIへの呼び出しが行われます(デバッグで期待していたローカルコピーではありません.

私のビルドは間違いなくデバッグであり、私の Web.config には次のものがあります。

<compilation debug="true" targetFramework="4.0">

Google CDNからjqueryを取得するための呼び出しがまだ行われている理由を知っている人はいますか?

4

1 に答える 1

2

わかりました、私はこれに対する答えを見つけました。

この行をコードから削除しました。

BundleTable.EnableOptimizations = true

web.config でdebug=falseを指定して実行すると、バンドルが有効になり、Cdn が使用されます。

EnableOptimizations = false でデバッグをdebug=falseに戻すことの予期しない副作用 (少なくとも私には予期しない)は、バンドルも無視されることです。最適化をデバッグ モードで有効にしたまま、CDN リクエストを無効にできると便利です。これが可能であれば誰でもできますか?

于 2013-07-05T18:38:52.767 に答える