页面性能指标
以用户为中心
FP:first paint
FCP:first contentful paint
FMP:first meaningful paint
TTI:time to interactive
优化方式
目的:尽快渲染出首屏、减少白屏时间
- 优化关键渲染路径,减少阻塞渲染的js、css
使用 async/defer 让浏览器下载 JavaScript 的同时不阻塞 HTML 解析
内联页面关键部分的样式到 HTML
- Service Worker 缓存 AppShell
- HTTP/2 Server Push
webpack 插件
PRPL 模式
PRPL:push\preload、render、precache、lazy-load
- PUSH/PRELOAD,推送/预加载初始 URL 路由所需的关键资源
- RENDER,渲染初始路由,尽快让应用可被交互
- PRE-CACHE,用 Service Worker 预缓存剩下的路由
- LAZY-LOAD 按需懒加载、懒实例化剩下的路由