Asp.net mvc MVC捆绑—多个捆绑包中的一个文件
我有5个js文件: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
View1
中使用这个捆绑包
现在我需要在View2
中使用a3.js、a5.js和a6.js
我是否可以使用a3、a5和a6创建新捆绑包,或者将捆绑包1用于a3和a5并为a6创建新捆绑包
哪一个是好方法 我认为没有正确的答案。也可以考虑在<代码>捆绑L1 中包含<代码> A6. JS<代码>,在
但是,如果您必须在使用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请求。