什么是包括的js / css文件在企业应用框架的最佳做法?(What is the best pra

2019-07-31 05:10发布

我工作在ASP.NET MVC3企业应用程序的开发。 的,当然,我有不同的主布局和多视图。

我的关注

  • 包括主版面所有的JS / CSS文件可能会影响页面的性能
  • 包括意见的文件(如要求)创建重复引用(开球的jQuery /其他库)
  • 更多的参考,更多的背部和第四客户端和服务器之间的请求 - 这反过来又影响输出页面的性能

我的想法

  1. 创建所需资源的自定义列表并将其存储在ViewBag。 让主布局是指该对象包括的js / css文件
  2. 或添加链接指与一些关键的动作(一个独特的价值,以确定该页面被渲染)和动态生成所需的所有资源的输出作为单个响应。 和缓存与后续请求的唯一密钥的输出(inmem / staticfile)。 A类自定义资源捆绑。

请分享你的想法,有什么想法和建议,欢迎!

编辑:Sep.17.2012

回答以下问题,更谈到Web应用程序开发领域优化技术 - 欣赏这些问题的答案。

我想从架构的角度来讨论,重点打造由页面渲染所需的动态资源集合。

例如,在特定的视图我想用它需要的jquery-UI-1.8.11.min.js,并且在某些视图我想用MVC3 AJAX这需要MicrosoftMvcAjax.js和jquery.unobtrusive-AJAX jQuery的用户界面。 min.js

我并不想在主布局永久参考,这将导致加载这些JS的所有意见。 相反,我想包括在运行时动态的js文件。

希望这可能会更加清楚!

感谢您的帮助 - 维诺德

Answer 1:

你需要考虑一下先降低你的下载大小:

  • 把所有的JS和CSS后的文件成为可能。 这是因为客户端只能开2个HTTP通道 (大多数浏览器现在支持更多的信息在这里 )在任何一个时间,在此之后的所有文件下载进行排队,直到以前的完成下载。
  • 再压缩你的JS和CSS。

一旦你得到这个下降到一个合理的规模,那么你可以考虑一下以上。 你要下载的内容前期量最小,所以在主 。 这将提高性能,因为那么客户端可以缓存它。 缓存是一件好事,这将停止其要求每次访问一个网站上的网页时的JS和CSS客户端。

您可能还需要考虑采用HTTP到期标头。

雅虎做一个很好的网站上大量的这些想法: http://developer.yahoo.com/performance/rules.html

另外,不要把你的JS在viewbag。 这是在服务器上的不必要的开销和负担。 只是在你的网页添加一个参考!

我刚刚碰到过这样的,如果你想注入JS和CSS但保持高速缓存功能后,你这是什么可以做大致有:

http://yepnopejs.com/

MVC4现在支持捆绑



文章来源: What is the best practice to include js/css files in an enterprise application framework?