前端进阶(七)React 16 加载性能优化指南之首屏优化

本文是关于React 16加载性能优化的笔记,涉及首屏优化策略,包括预加载、缓存、拆分代码、Tree Shaking等。文章介绍了使用html-webpack-plugin、prerender-spa-plugin、SplitChunksPlugin等工具来优化首屏加载速度,以及通过动态import、Code Splitting、懒加载和编译到ES2015+来提高代码运行效率。
摘要由CSDN通过智能技术生成

https://cloud.tencent.com/developer/article/1358160  React 16 加载性能优化指南(上)

https://cloud.tencent.com/developer/article/1359124  React 16 加载性能优化指南(下)

这篇文章是针对这两篇文章的笔记,只为记录,如果侵权,麻烦告知,立刻删除。

------------------------------------------------------------------------------------------------

(一)打开页面 -> 首屏(下载正式html+js+css文件)

1.1. 在 root 节点中写一些东西

比如Loading...或者UI单独设计一个统一的样式。

1.2. 使用 html-webpack-plugin 自动插入 loading

运行时同步加载一个写好的页面(loading html文件和css文件),等到正式页面文件下载完成后替换掉

1.3. 使用 prerender-spa-plugin 渲染首屏

1.4. 除掉外链 css

(二)首屏 -> 首次内容渲染加载、运行 JS 代码

几乎所有业务的 JS 代码,都可以大致划分成以下几个大块:

1、基础框架,如 React、Vue 等,这些基础框架的代码是不变的,除非升级框架;

2、Polyfill,对于使用了 ES2015+ 语法的项目来说,为了兼容性,polyfill 是必要的存在;

3、业务基础库,业务的一些通用的基础代码,不属于框架,但大部分业务都会使用到;

4、业务代码,特点是具体业务自身的逻辑代码。

2.1. 缓存基础框架

特点是必须且不变,为基础框架代码设置一个尽量长的缓存时间,使用户的浏览器尽量通过缓存加载这些资源。

附:HTTP 缓存资源小结

HTTP 为我们提供了很好几种缓存的解决方案,不妨总结一下:

1. expires

expires: Thu, 16 May 2019 03:05:59 GMT

在 http 头中设置一个过期时间,在这个过期时间之前,浏览器的请求都不会发出,而是自动从缓存中读取文件,除非缓存被清空,或者强制刷新。缺陷在于,服务器时间和用户端时间可能存在不一致,所以 HTTP/1.1 加入了 cache-control 头来改进这个问题。

2. cache-control

cache-control: max-age=31536000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fullstack_lth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值