
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
web前端编程开发中的性能优化问题是需要程序员长期关注的问题之一,下面我们就通过案例分析来了解一下,web前端页面加载优化都有哪些方法。
开始加载数据前,不要等待程序包
这是顺序请求链的一种特例:先加载应用程序包,然后代码请求页面数据。
有两种方法可以避免这种情况:
将页面数据嵌入HTML文档中;
通过文档中的内联脚本启动数据请求。
将数据嵌入HTML可以确保你的应用无需等待数据加载。这也降低了应用程序的复杂性,因为你不必处理加载状态。
但如果获取数据的过程会显著延迟你的文档响应,这就不是一个好主意,因为这会延迟你的初始渲染。
在这种情况下,或者如果你通过一个服务worker来提供一个缓存的HTML文档,则可以将内联脚本嵌入到HTML中以加载这些数据。
然后当数据准备就绪时,你的应用程序就可以立即开始渲染。对于这两种技术来,你都需要知道在应用开始渲染之前页面必须加载哪些数据。对于与用户相关的数据(用户名、通知……)来这往往很容易,但对于特定于页面的内容来就比较麻烦了。可以考虑找出重要的页面,并为这些页面编写自定义逻辑。
等待非必需数据时不要阻塞渲染
有时生成页面数据的过程需要缓慢的复杂后端逻辑。在这种情况下你可以先加载较简单的数据版本,只要这些数据足以让你的应用程序运转起来即可。
避免顺序数据请求链
这可能与我在前文中关于在二个请求中加载非必需数据的观点相冲突,但是如果每个完成的请求都不会向用户显示更多信息,则应该避免顺序请求链。
与其先发出有关用户登录身份的请求,然后再请求其所属团队的列表,不如返回团队列表以及用户信息。你可以使用GraphQL来做,但是自定义的user?includeTeams=true端点也很好用。
服务端渲染
服务端渲染意味着在服务器上预渲染你的应用,并使用整页HTML响应文档请求。这意味着客户端可以看到完整渲染的页面,而不必等待额外的代码或数据加载!
由于服务器只是将静态HTML发送给客户端,因此你的应用尚无法进行交互。你需要加载应用程序,然后重新运行渲染逻辑,接下来将必要的事件侦听器附加到DOM上。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。