6

新しいバンドル ワイルドカード {version} regex を理解し、十分に感謝しています。これは、更新後もスクリプトやスタイル ライブラリを取得し続けるためです。問題は、それを効果的に機能させることができないことです。

以前は、次の表記法を使用して jQuery スクリプトを取得していました。

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-1.*"));

アスタリスクのワイルドカードに一致するすべてのファイルを取得します。

しかし、私が次のことを試したとき:

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

jQuery ファイルが _Layout.cshtml ページに書き出されていないことに気付きました。

注 - 実際、両方の例で次の HTML コードを使用しています。

@Scripts.Render("~/bundles/jquery")

上記の最初の例 (" * ") 表記を使用すると、次のようにページに書き込まれます。

<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script>

しかし、「{version}」表記を使用すると、ライブラリを記述する必要がある空白のスペースしかありません。これは、jquery ファイルと関連する CSS スタイルシートの両方に関係します。

DEBUG または RELEASE モードのどちらでコンパイルしているかは問題ではありません。結果は同じです。明らかに、リリース モードでは、「*」表記を使用すると最適化されたバージョンが取得されます。

<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script>

私はすべての開発者がそうであるように完璧主義者なので、{version} 表記法が機能することを大いに期待しています。

私が間違っているかもしれないことについての洞察は大歓迎です。

前もって感謝します、ダン

4

1 に答える 1