1

私は現在、MVC フレーバーの ASP.NET 4.5 を学んでおり、ブートストラップを完全に削除して PureCSS ( http://www.purecss.io ) を使用することにしました。

これは主に、私の Web アプリケーションがコード ビハインド以外のスクリプトをほとんど必要とせず、データの検証などにいくつかの軽い JS を必要とするという事実によるものです。

現在、Yahoo! から結合された PureCSS スタイル シートにリンクしています。CDN:

<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">

私の_Layout.cshtmlファイルで。これは明らかに機能的ですが、2 つの懸念事項があります。

  1. CVN が (何らかの理由で) 失敗/ダウン/変更した場合、すべてのスタイリングが消え、その場で解決する必要があります (または、別の CDN へのフェイルセーフ スイッチオーバーの時間を実装する必要があります)。
  2. 私はバンドルのコンセプトがとても好きで、モジュール化/コンパートメント化のために、前述の問題を防ぐために、ローカルの PureCSS ライブラリをバンドルしたいと考えています。

このバンドルを生成するのは簡単なことです:

bundles.Add(new StyleBundle("~/Content/css").Include(
                    "~/Content/purecss_release_1_6/some.css",
                    "~/Content/purecss_release_1_6/other.css",
                    "~/Content/purecss_release_1_6/neat.css",
                    "~/Content/purecss_release_1_6/etc.css",
                    ...
                    "~/Content/site.css"));

もしそうなら、それは素晴らしいことですが、リリースには多数の css ファイルがあります。それらをバンドルするよりクリーンな方法はありますか?

ありがとうございました!

4

1 に答える 1

1

IncludeDirectoryを使用して、すべての CSS ファイルを含むディレクトリ全体を参照できます。

あなたのケースに固有の例:

bundles.Add(new StyleBundle("~/Content/css")
    .IncludeDirectory("~/Content/purcss_release", "*.css"));

.NET 4.5 の新機能は、失敗した CDN からローカル マテリアルにフォールバックするための統合システムです。チュートリアル/情報: http://www.hanselman.com/blog/CDNsFailButYourScriptsDontHaveToFallbackFromCDNToLocalJQuery.aspx

上記のリンクからの有用な情報:

CDN フォールバックの基本的な考え方は、スクリプトの読み込み後に存在する必要がある型または変数を確認し、存在しない場合は、そのスクリプトをローカルで取得することです。document.write 内の重要なエスケープ文字に注意してください。jQuery は次のとおりです。

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
于 2015-07-20T18:01:45.723 に答える