首頁  >  文章  >  web前端  >  為什麼 Bundler 排除 .min 檔?

為什麼 Bundler 排除 .min 檔?

Linda Hamilton
Linda Hamilton原創
2024-10-19 15:00:04169瀏覽

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