Asp.net-Mvc-4

是否有任何理由在 BundleConfig 中有多個 ScriptBundle 包?

  • November 18, 2017

這裡,預設的 MVC5 App BundleConfig:

public class BundleConfig
{
   // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
   public static void RegisterBundles(BundleCollection bundles)
   {
       bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                   "~/Scripts/jquery-{version}.js"));

       bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                   "~/Scripts/jquery.validate*"));

       // Use the development version of Modernizr to develop with and learn from. Then, when you're
       // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
       bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                   "~/Scripts/modernizr-*"));

       bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                 "~/Scripts/bootstrap.js",
                 "~/Scripts/respond.js"));
   }
}

只有一個捆綁包會簡單得多,您將在其中包含您需要的所有腳本嗎?像這樣:

public class BundleConfig
{
   // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
   public static void RegisterBundles(BundleCollection bundles)
   {
       bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                   "~/Scripts/jquery-{version}.js",
                   "~/Scripts/jquery.validate*",
                   "~/Scripts/modernizr-*",
                   "~/Scripts/bootstrap.js",
                   "~/Scripts/respond.js"));
   }
}

或者,更簡單,像這樣(在 Script 文件夾中,您只放置您需要的 JS 文件):

public class BundleConfig
{
   // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
   public static void RegisterBundles(BundleCollection bundles)
   {
       bundles.Add(new ScriptBundle("~/bundles/scripts").Include("~/Scripts/*"));
   }
}

只有一個捆綁包會簡單得多,您將在其中包含您需要的所有腳本嗎?

這可能會稍微簡化開發過程,因為您不需要查找要包含的相應包。但是讓我們從另一個角度來看這個。

asp.net 論壇上有以下內容:

捆綁和縮小是您可以在 ASP.NET 4.5 中使用的兩種技術來改進請求載入時間。捆綁和縮小通過減少對伺服器的請求數量和減少請求資產(例如 CSS 和 JavaScript)的大小來縮短載入時間。

因此,我們進行捆綁以使工作更快。如果您使用不需要的簡單表單創建了一個頁面怎麼辦bootstrap.js。如果您有興趣加快一切速度,為什麼還要載入它?

最佳性能選項是將您可能需要的所有可能的 js 文件組合放在一個單獨的包中。每個頁面只發出一個請求來獲取它需要的所有 js。然而,這種事情的方式是相當難以維持。

因此,由您決定您對哪個方面感興趣。

引用自:https://stackoverflow.com/questions/35971147