Sto implementando il supporto di bundling e minification in MVC4 e sembra che stia rendendo i miei file javascript più grandi di se non fossero in bundle/minificati. Sto usando l'ultima build disponibile in nuget (opzione pre-release su). Ho il seguente pacchetto impostato nella mia classe RegisterBundles.Perché il raggruppamento e la minimizzazione di MVC4 rendono più grandi i miei file?
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"));
E sto caricando nel mio _Layout.cshtml utilizzando
@Scripts.Render("~/bundles/baseJS")
Quando aggiungo i byte ricevuti in Fiddler per questi script in modalità debug ottengo il seguente
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
E quando lo eseguo sul mio server di produzione ottengo il seguente da Fiddler per l'intero pacchetto js.
Bytes Received: 999,396
Cosa sta succedendo qui? La maggior parte dei file è in qualche misura limitata, ma non dovrebbe quasi raddoppiare le dimensioni del mio carico utile.
Ulteriori Dettagli- Quando ho scaricare i file js fuori la mia casella di dev locale (violinista riportato dimensione 379KB) e il server (violinista riportato dimensione 999kb) e metterli in kdiff sono binari identici. Quando guardo la scheda di rete degli strumenti di sviluppo di Chrome, il server locale scarica 379kb, ma il valore 'Parser' è 975kb. Qual è il valore di questo parser. Potrebbe essere che ci sia qualche impostazione di compressione IIS che non è impostata sul mio server ma sul mio server IIS locale? L'unica differenza che noto è il fatto che l'IIS Express in esecuzione sulla mia macchina di sviluppo è 8.0 dove il server è IIS 7.5.
Nota: Hao è lo sviluppatore principale su bundling/minification per ASP.NET – RickAndMSFT
Se capisco correttamente la risposta, credo che la mia domanda sia il motivo per cui la minificazione di Jquery è più stretta di quella di ASP.net? – PlTaylor