1

ASP.NETMVC4.0アプリケーション-VisualStudio2012

バンドルとミニファイをリリースモードで動作させることができません。

私の基本的な理解は次のとおりです。

*を提供する必要がありますか。MIN .css、*。事前に.jsファイルを最小化しますか、それともVSが独自にファイルを最小化する必要がありますか?(つまり、私はmcimagemanager.jsを提供し、VSはそれからmcimagemanager.MIN.jsを作成します)???

これがコードスニペットです-Global.asaxで呼び出されます:

 public static void RegisterBundles(BundleCollection bundles)
    {
       var im = new ScriptBundle("~/bundles/MCImageManager").Include(
                    "~/Scripts/tinymce/plugins/imagemanager/js/mcimagemanager.js"
                    );
        bundles.Add(im);
    }

リリースモードではなく、デバッグで正常に動作します

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

4

2 に答える 2

3

いいえ、ファイルを提供する必要はありません。.minまた、バンドラーがそのバージョンを作成することもありません (少なくとも、フォルダーに表示されるものではありません)。

違いはこれです。スクリプト フォルダーにとの両方があるjquery-1.9.1.jsとします。jquery-1.9.1.min.js

デバッグ モードではソース スクリプトとして使用jquery-1.9.1.jsされますが、デバッグ モードではバンドル/縮小全体が無効になっているため、縮小またはバンドルされることはありません (ただし、これをオーバーライドすることはできます)。

リリース モードは、そのバンドルの他のスクリプトと一緒に ANDを使用jquery-1.9.1.min.jsしてバンドルします。

ファイルが 1 つしかない場合jquery-1.9.1.js、リリース モードはそれを使用し、縮小してバンドルします。

.minデバッグ モードはファイルを使用しません。そのため、ワイルドカードを使用してスクリプト ディレクトリのすべてのファイルを含めると、.min ファイルは含まれません。

デバッグ モードでは、レンダリングされた HTML を見ると、バンドル内のすべてのスクリプト ファイルが個別に参照されます。リリース モードでは、バンドルごとに 1 つのスクリプト参照 (バージョニング用のクエリ文字列を含む) のみが存在します。

その他の関連する読み物/投稿:

古い JavaScript ファイルを使用した Scripts.Render

ASP.Net MVC バンドルに特定の順序で JavaScript ファイルをレンダリングさせる

于 2013-03-07T16:38:08.163 に答える
1

バンドルと縮小フレームワークは、縮小自体も行います。したがって、プレーンな JavaScript/CSS ファイルを提供するだけです。一方ではファイル自体を処理し、他方ではビューでの登録を処理します@Scripts.Render("~/bundles/jquery")。したがって、どのファイルをビューに含める必要があるかを「認識」し、それが「通常」または「最小」バージョンであるかどうかを判断します。

このトピックの詳細については、この素晴らしい演習で見つけることができます: http://msdn.microsoft.com/en-us/vs11trainingcourse_aspnetandvisualstudio_topic5.aspx

ただし、これは MVC 指向のアプリケーションのより良いリソースかもしれません: http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

于 2013-03-07T09:24:56.310 に答える