首页  >  文章  >  web前端  >  为什么 Bundler 排除 .min 文件?

为什么 Bundler 排除 .min 文件?

Linda Hamilton
Linda Hamilton原创
2024-10-19 15:00:04279浏览

Why is Bundler Excluding .min Files?

捆绑器忽略 .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:

  1. 重写 BundleConfig 类中的 AddDefaultIgnorePatterns 方法。
  2. 添加以下行:

ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);

这将指示捆绑器在启用优化时忽略 .min.js 文件,从而有效地将它们包含在捆绑包中。

以上是为什么 Bundler 排除 .min 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn