我正在使用 ASP.NET MVC3 进行企业应用程序开发。当然,我有不同的主布局和多个视图。
我的担忧
- 在主布局中包含所有 js/css 文件可能会影响页面的性能
- 在视图中包含文件(在需要的地方)正在创建重复引用(启动 jquery/其他库)
- 引用越多,客户端和服务器之间的来回请求就越多 - 这反过来会影响输出页面的性能
我的想法
- 创建所需资源的自定义列表并将其存储在 ViewBag 中。让主布局引用此对象以包含 js/css 文件
- 或者添加指向带有某个键(标识正在呈现的页面的唯一值)的操作的链接,并动态生成包含所有必需资源的输出作为单个响应。并使用唯一键缓存输出(inmem/staticfile)以用于后续请求。一种自定义资源捆绑。
请分享您的想法,欢迎任何想法和建议!
编辑:2012 年 9 月 17 日
下面的答案更多地谈论 Web 应用程序开发世界中的优化技术 - 欣赏这些答案。
我想从架构的角度来讨论,重点是创建正在呈现的页面所需的动态资源集合。
例如,在特定视图中我想使用需要 jquery-ui-1.8.11.min.js 的 jQuery UI,在某些视图中我想使用需要 MicrosoftMvcAjax.js 和 jquery.unobtrusive-ajax 的 MVC3 ajax。 min.js
我不想在主布局中包含永久引用,这将导致为所有视图加载这些 js。相反,我想在运行时包含动态的 js 文件。
希望这可能会增加清晰度!
感谢您的帮助 - 维诺德