Bundel Menghadap Fail .min
Dalam konteks penggabungan ASP.NET MVC4, isu yang ingin tahu timbul apabila pengikat mengecualikan fail dengan Sambungan .min.js daripada kompilasinya. Untuk menggambarkan ini, pertimbangkan kelas BundleConfig berikut:
<code class="c#">public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/jquery") .Include("~/Scripts/jquery-1.8.0.js") .Include("~/Scripts/jquery.tmpl.min.js")); }</code>
Dalam paparan, kod berikut digunakan untuk memaparkan berkas:
<code class="html"><head> @Scripts.Render("~/Scripts/jquery") </head> <body>test</body></code>
Walau bagaimanapun, output yang diberikan hanya termasuk fail jquery-1.8.0.js dan jquery.tmpl.min.js ditinggalkan.
Sebab
Tingkah laku ini tidak wujud pada konfigurasi bundler itu sendiri. Ia berkaitan dengan isu dalam pakej Microsoft.AspNet.Web.Optimization versi 1.1.0.
Penyelesaian
Manakala penyelesaian asal yang disediakan melibatkan pengubahsuaian konfigurasi IgnoreList , ini tidak lagi terpakai dalam versi pakej pengoptimuman yang kemudian. Versi terkini (1.1.3 dan ke atas) telah menyelesaikan isu ini.
Untuk menyelesaikan isu ini dan memasukkan fail .min.js dalam proses penggabungan, pastikan anda menggunakan versi terkini Microsoft.AspNet Pakej .Web.Optimization.
Penyelesaian Alternatif (Lapuk)
Jika anda tidak dapat menaik taraf kepada versi terkini pakej, anda boleh mempertimbangkan penggodaman berikut:
ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);
Ini akan mengarahkan pengikat untuk mengabaikan fail .min.js apabila pengoptimuman didayakan, dengan berkesan memasukkannya ke dalam berkas.
Atas ialah kandungan terperinci Mengapa Bundler Tidak Termasuk Fail .min?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!