Asp.net mvc MVC捆绑—多个捆绑包中的一个文件

Asp.net mvc MVC捆绑—多个捆绑包中的一个文件,asp.net-mvc,bundling-and-minification,Asp.net Mvc,Bundling And Minification,我有5个js文件: a1.js a2.js a3.js a4.js a5.js 捆绑在bundle1.js中,我在View1中使用这个捆绑包 现在我需要在View2中使用a3.js、a5.js和a6.js 我是否可以使用a3、a5和a6创建新捆绑包,或者将捆绑包1用于a3和a5并为a6创建新捆绑包 哪一个是好方法 我认为没有正确的答案。也可以考虑在捆绑L1 中包含 A6. JS,在 VIEW2中只使用 BangLe1.js。它已经被浏览器缓存,因此即使不需要一些单独的js,也不会有额外的HTTP

我有5个js文件:

  • a1.js
  • a2.js
  • a3.js
  • a4.js
  • a5.js
  • 捆绑在bundle1.js中,我在
    View1
    中使用这个捆绑包

    现在我需要在
    View2
    中使用a3.js、a5.js和a6.js

    我是否可以使用a3、a5a6创建新捆绑包,或者将捆绑包1用于a3和a5并为a6创建新捆绑包


    哪一个是好方法

    我认为没有正确的答案。也可以考虑在<代码>捆绑L1 中包含<代码> A6. JS<代码>,在 VIEW2中只使用<代码> BangLe1.js<代码>。它已经被浏览器缓存,因此即使不需要一些单独的js,也不会有额外的HTTP请求。因此,基本上所有脚本都放在一个单独的包中,即使不是所有视图都严格要求的,也可以放在布局中


    但是,如果您必须在使用a3、a5和a6创建新捆绑包或为a3和a5创建捆绑包1并为a6创建新捆绑包之间进行选择,则首选第一个。

    您可以在所有视图中使用捆绑包1。但问题是,当一些浏览器要打开您的页面时,它只需要a3.js和a5.js,然后就会下载所有内容。而且这会让你的网站变得很慢

    因此,根据我的说法,您应该始终根据每个页面所需的js/css创建多个绑定

    bundles.Add(new ScriptBundle("~/bundles/JqueryInterviewHomePage").Include("~/Content/js/jquery-1.8.3.min.js", "~/Content/Jquery/bootstrap.min.js", "~/Content/Jquery/InterviewHomeJquery.js"));
    
    bundles.Add(new ScriptBundle("~/bundles/JqueryInterviewViewPage").Include("~/Content/js/jquery-1.8.3.min.js", "~/Content/Jquery/bootstrap.min.js", "~/Content/Jquery/SingleInterviewPostJquery.js"));
    
    bundles.Add(new ScriptBundle("~/bundles/JqueryArticlesHomePage").Include("~/Content/js/jquery-1.8.3.min.js","~/Content/Jquery/bootstrap.min.js", "~/Content/Jquery/ArticlesHomeJquery.js"));
    
    bundles.Add(new ScriptBundle("~/bundles/JqueryArticlesViewPage").Include("~/Content/js/jquery-1.8.3.min.js","~/Content/Jquery/bootstrap.min.js", "~/Content/Jquery/SinglePostJquery.js"));
    
    希望这对你有帮助。
    谢谢

    bundle1在大多数视图中都使用。也就是说,它是一个常见的捆绑包。但a6仅在view2中需要。那么,将a6包含在bundle1中是否是一个好主意。?是的,只要将其放入bundle中,并在任何地方重用此bundle。然后,a6/js将在所有其他页面中不必要地下载。不,它将只下载一次。这就是捆绑->将所有javascript资源合并并缩小为一个您引用的文件的全部要点。在客户端浏览器上下载此捆绑包后,将不再在后续页面上下载它。另一方面,如果您在页面中链接多个不同的包,那么情况会更糟,因为即使它们的大小较小,也必须获取它们,这意味着需要向服务器发送额外的HTTP请求。