捆绑器忽略 .min 文件
在 ASP.NET MVC4 捆绑的上下文中,出现了一个奇怪的问题,即捆绑器排除带有.min.js 编译后的扩展名。为了说明这一点,请考虑以下 BundleConfig 类:
<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>
在视图中,以下代码用于渲染包:
<code class="html"><head> @Scripts.Render("~/Scripts/jquery") </head> <body>test</body></code>
但是,渲染的输出仅包括jquery-1.8.0.js 文件,并且 jquery.tmpl.min.js 被省略。
原因
此行为不是捆绑器配置本身所固有的。它与 Microsoft.AspNet.Web.Optimization 包版本 1.1.0 中的问题有关。
解决方案
虽然提供的原始解决方案涉及修改 IgnoreList 配置,这在以后版本的优化包中不再适用。最新版本(1.1.3 及更高版本)已解决此问题。
要解决此问题并在捆绑过程中包含 .min.js 文件,请确保您使用的是最新版本的 Microsoft.AspNet .Web.Optimization 软件包。
替代解决方案(已过时)
如果您无法升级到最新版本的软件包,您可以考虑以下 hack:
ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);
这将指示捆绑器在启用优化时忽略 .min.js 文件,从而有效地将它们包含在捆绑包中。
以上是为什么 Bundler 排除 .min 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!