私はMVC4でバンドリングとミニネーションのサポートを実装しています。バンドルされていない場合よりもjavascriptファイルが大きくなっているように見えます。私は最新のビルドをナゲットで使用しています(リリース前のオプション)。 RegisterBundlesクラスに以下のバンドルを設定しました。MVC4のバンドルとマイニングがファイルを大きくするのはなぜですか?
bundles.Add(new ScriptBundle("~/bundles/baseJS").Include(
"~/Scripts/jquery-1.7.1.js",
"~/Scripts/jquery.cookie.js",
"~/Scripts/jquery-ui-1.8.11.js",
"~/Scripts/bootstrap.js",
"~/Scripts/jquery.pjax.js",
"~/Scripts/kendo/2012.1.515/js/kendo.all.min.js",
"~/Scripts/jquery.jstree.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js",
"~/RIS.Scripts/PostJson.js"));
そして私は、私はバイトをデバッグモードでこれらのスクリプトのためのフィドラーで受信まで追加すると、私は
Name Size(bytes)
jquery 98013
jquery cookie 1455
jquery ui 124704
bootstrap 52378
pjax 8138
kendo.all 219751
jstree 55045
unobtrusive-ajax 2492
validate 13323
validate-unobtrusive 5138
postjson 634
Total 581071
次取得
@Scripts.Render("~/bundles/baseJS")
を使用して、私の_Layout.cshtmlにロードしています
そして、私のプロダクションサーバーでそれを実行すると、jsバンドル全体に対して次のようなフィドラーが得られます。
Bytes Received: 999,396
ここでは何が起こっていますか?ほとんどのファイルはある程度縮小されていますが、ペイロードのサイズを倍にしてはいけません。
詳細 -私のローカルデベロッパーボックス(フィドラー報告サイズ379kb)とサーバー(フィドラー報告サイズ999kb)からjsファイルをダウンロードしてkdiffに入れると、それらは同じバイナリーです。 Chromeのデベロッパーツールの[ネットワーク]タブを見ると、ローカルサーバーは379kbをダウンロードしますが、 'Parser'の値は975kbです。このパーサの値は何ですか?サーバーに設定されていないが、ローカルのIISサーバーにあるIIS圧縮設定がある可能性はありますか?私が注意している唯一の違いは、私が開発したマシンで実行しているIIS Expressが、サーバーがIIS 7.5の8.0であるという事実です。
注:ハオはASP.NETのバンドル/ミニ化の主な開発者です – RickAndMSFT
答えを正しく理解すれば、 ASP.netよりJqueryの小型化が厳しいですか? – PlTaylor