アプリケーションの「スタイル」と「スクリプト」のいくつかが、異なる環境のアプリケーションから参照されています。
- ローカルサイトの参照元
http://localhost:123/mystyles/default.css
- 開発サイトはから参照しています
http://mydev.com/mystyles/default.css
- prod サイトの参照元
http://prod.com/mystyles/default.css
以下のようなバンドルでcdnを少し調整しようとしましたが、役に立ちませんでした。
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Clear();
bundles.ResetAll();
BundleTable.EnableOptimizations = false;
bundles.UseCdn = true;
if (HttpRuntime.BinDirectory.Contains("local"))
cdnHost = "http://localhost:123/";
else if(condition)
cdnHost = "http://mydev.com/";
else
cdnHost = "http://prod.com/";
bundles.Add(new StyleBundle("~/Content/HRO/jquery/ui/css", cdnHost)
.Include("~/css/jQuery/hro-0079c1/jquery-ui-1.8.11.custom.css"));
bundles.Add(new StyleBundle("~/Content/HRO/jquery/ui/css", cdnHost)
.Include("~/css/jQuery/hro-0079c1/jquery-ui-1.8.11.custom.css"));
bundles.Add(new StyleBundle("~/Content/HRO/base/css", cdnHost)
.Include("~/css/base.css"));
bundles.Add(new StyleBundle("~/Content/HRO/reset/css", cdnHost)
.Include("~/css/reset.css"));
}
しかし、これはうまくいきません。これらのバンドルを以下のように呼び出すと
@Styles.Render("~/Content/HRO/jquery/ui/css")
@Styles.Render("~/Content/HRO/base/css")
@Styles.Render("~/Content/HRO/reset/css")
RegisterBundles() をデバッグしようとしましたが、cdn url でこれらのアイテムを作成していないようです。
これは、バンドルの絶対 CSS URL を作成する正しい方法ですか? ここで何か不足していますか?RegisterBundles() をデバッグするより良い方法はありますか?