MVC 捆绑 - 多个捆绑包中的一个文件
MVC Bundling - one file in more than one bundle
我有 5 个 js 文件:
- a1.js
- a2.js
- a3.js
- a4.js
- a5.js
在 bundle1.js 中捆绑在一起,我在 View1
.
中使用这个捆绑包
现在我需要在View2
.
我可以使用 a3、a5 和 a6 创建一个新的捆绑包,或者将 bundle1 用于 a3 和 a5 并为 a6?
创建新包
哪种方法好?
我认为对此没有正确答案。您还可以考虑在 bundle1
中包含 a6.js
,而在 View2
中仅使用 bundle1.js
。它已经被浏览器缓存了,所以即使不需要一些单独的 js,也不需要额外的 HTTP 请求。所以基本上将所有脚本都放在一个包中,即使不是所有视图都严格要求,也可以放在布局中。
但是,如果您必须在使用 a3、a5 和 a6 创建新捆绑包或为 a3 和 a5 创建新捆绑包和为 a6 创建新捆绑包之间做出选择,那么首选第一个。
您可以将 bundle1 用于所有视图。但问题是,当某些浏览器要打开您只需要 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"));
希望对您有所帮助。
谢谢
我有 5 个 js 文件:
- a1.js
- a2.js
- a3.js
- a4.js
- a5.js
在 bundle1.js 中捆绑在一起,我在 View1
.
现在我需要在View2
.
我可以使用 a3、a5 和 a6 创建一个新的捆绑包,或者将 bundle1 用于 a3 和 a5 并为 a6?
创建新包哪种方法好?
我认为对此没有正确答案。您还可以考虑在 bundle1
中包含 a6.js
,而在 View2
中仅使用 bundle1.js
。它已经被浏览器缓存了,所以即使不需要一些单独的 js,也不需要额外的 HTTP 请求。所以基本上将所有脚本都放在一个包中,即使不是所有视图都严格要求,也可以放在布局中。
但是,如果您必须在使用 a3、a5 和 a6 创建新捆绑包或为 a3 和 a5 创建新捆绑包和为 a6 创建新捆绑包之间做出选择,那么首选第一个。
您可以将 bundle1 用于所有视图。但问题是,当某些浏览器要打开您只需要 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"));
希望对您有所帮助。 谢谢