2

スクリプト バンドルを追加し、次のようなものがある場合:

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

生の Jquery バージョンと縮小バージョンをロードします。これらのファイルは両方とも Scripts フォルダーにあるため、アスタリスクはまさに​​あなたが言っていることをしていると思います。

debug=false モードのときに縮小版のみをレンダリングし、debug=true の raw バージョンをレンダリングする方法はありますか?

それとも、アスタリスクを使用する代わりに、実際に必要なファイルを正確に指定することにかかっていますか?

よろしく、ジャック

4

2 に答える 2

4

これは、debug=false の場合にファイルの .min バージョンを選択する必要がある BundleCollection の FileExtensionReplacementList を介して自動的に発生するはずです。新しいプロジェクトを作成するときのデフォルトのテンプレートも、この機能を使用する必要があります。

于 2012-07-30T18:32:25.870 に答える
1

この質問は 1 年以上前のものですが、誰かが同じ問題について助けを必要としている場合に備えて、Bundling は {version} ワイルドカードを導入し、正規表現を使用して典型的なバージョン番号パターン (1.9. 1) 手動または NuGet 経由でパッケージを更新するときに、バンドルの構成を変更する必要がないようにします。

また、.min.js および .js という名前のファイルから選択するのも十分にスマートです。前者をリリース構成で使用し、後者をデバッグで使用します。まさに OP の目的です。

ASP.NET MVC 4 の場合、これはデバッグ構成で、ファイル jquery-1.7.1.js がバンドルに追加されることを意味します。リリース構成では、jquery-1.7.1.min.js が追加されます。バンドル フレームワークは、次のようないくつかの一般的な規則に従います。

  • 「FileX.min.js」と「FileX.js」が存在する場合、リリースする「.min」ファイルを選択します。
  • デバッグ用に「.min」以外のバージョンを選択する。
  • IntelliSense でのみ使用される「-vsdoc」ファイル (jquery-1.7.1-vsdoc.js など) を無視します。

バンドルと縮小、および MVC4 バンドル{version} ワイルドカードを参照してください

ただし、ディレクトリに jQuery-1.9.1.js と jQuery-1.10.2.js の両方がある場合 (たとえば)、両方が一致してバンドルに追加されますが、これは明らかに望ましくありません。

これが機能するには、ファイルの縮小版の名前を file-min.js や min.file.js ではなく、file.min.js にする必要があることにも注意してください。たとえば、YepNope ライブラリは、NuGet 経由で取得すると yepnope.1.5.4-min.js という名前になります。これは、これと縮小されていないバージョンの両方がバンドルに追加されることを意味します。

于 2013-09-10T09:58:15.383 に答える