1

我正在使用requireJSand开发一个应用程序jquery/jquery-mobile。现在我正在尝试优化加载和渲染性能。

假设我的应用程序可以分解为 HTML 片段(例如登录表单),它们出现在每个页面上。我的想法是每次请求新页面时都不要加载代码段。相反,我创建了 HTML 片段(增强标记)的模板版本,并通过requireJS !text插件将其拉入。

这工作得很好,所以每个片段都需要一次,然后从缓存中提供服务,因为它已经被渲染,所以在第 1 页之后一切都很顺利。

基本上我可以atomize把我的页面变成片段,比如

page { content { form { input & button }}}

并仅按需提取片段。虽然这会最小化从服务器加载的内容和渲染时间,但我最终得到了一个ton of http-requests.

问题:
非常通用,但是......在构建这样的应用程序时,有没有一种方法可以减少 http 请求的数量?我想我认为 websockets 可以用于此,但我不太确定。很想知道,如果有一个很好的方法来做到这一点。

谢谢!

4

2 回答 2

2

因此,让我直截了当地说:-您尝试使页面加载时间更快因此您将 HTML 文件的内容分解为片段。一些片段,例如
header/footer/login表单在每个页面上都很常见,这样您只需加载一次并继续从缓存中呈现它们。
但是第一次加载页面时,由于所有这些代码片段都是单独下载的,所以有很多请求。
如果我得到了所有正确的,这就是我的建议。

我建议在第一个页面加载时,您实际上加载了直接从服务器呈现的整个页面。加载后使用 javascript 添加代码片段可能会很慢。
然后在页面加载时,您可以使用元素选择器将所有呈现的片段的值保存到缓存中。并下载其余的片段。这样,当页面加载时,您有一个(或很少)请求。当页面已经加载时,所有额外的请求都在后台完成。

于 2012-10-17T08:34:21.210 回答
1

您可以使用RequireJS 优化器来缩小您的 Javascript 文件并将其合并到一个文件中。

于 2012-10-17T08:33:59.453 回答