当前位置: 首页 > 后端技术 > Node.js

使用BigPipe优化页面加载速度的实践

时间:2023-04-03 16:31:00 Node.js

说到网页速度优化,想必大家都能说几句,最著名的就是Yahoo的23篇文章。这里有一系列的小建议和优化策略,但是治标不治本,关键是对症下药。比如淘宝卖家中心首页速度优化的场景就是一个非常突出的例子。在这篇文章中,我将对首页展示优化策略进行全面的比较。我不会在这里强迫你。BigPipe的块传输原理也有很好的解释,就不用多说了。在我的实际工作中,也遇到过这样的场景。虽然没有上面那么明显,但也有更复杂的场景。比如首页是一个静态页面,不依赖于任何接口。列表页涉及到行情日历,过滤器,以及一些提示信息模块等,由于使用了node,所以依赖不同的接口,前后端模板可以共享。也可以实现html片段是在前端拼接还是在节点层拼接。前端拼接的好处是模板可以缓存,传输的数据量比较小。拼接节点层的好处是减少了前端的计算量。拼接好的html片段可以缓存在服务器端。有些前端接口可能需要整合多个后端接口的数据……对于这些,在实践中,我已经在express的基础上做了一层封装,可以完美支持以上场景。当然,更愉快的使用bigPipe是一个很重要的目的。使用BigPipe的好处是可以提高首屏的显示速度。当单个页面有多个接口和多个模块时,可以在一个长连接中通过chunk的方式批量返回,减轻http请求的压力。前端和后端模板是共享的。同时可以实现服务端渲染,对搜索引擎更加友好。这是我根据实践写的bigape。它包含更详细的说明和更完整的表达框架。写的很匆忙。有问题请拍砖。同时欢迎star和贡献代码(^__^)