-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
这是一道高频面试题。
在 SPA 中,页面的渲染都是依赖 JavaScript 生成的,通常这些 js 文件的体积会很大,在首屏加载时,加载和执行这些 js 文件需要一定的时间,而且页面越大,加载和执行的时间就越长,所以容易产生“白屏”现象。
如何优化 SPA 首屏加载?
-
治标
- 首屏加 loading 效果;
- 上骨架屏(在页面还没有完成加载之前,显示页面的大致结构)。
-
治本
- 使用首屏 SSR(服务端渲染)+ 跳转 SPA 方式;
- 优化 webpack 打包策略,合理分包,减少模块打包体积,动态 import 按需加载;
- 使用 CDN 进行资源的“动静分离”,减少一些不必要的打包体积和损耗;
- 处理加载的时间片,合理安排加载顺序;
- 合理利用浏览器本地缓存(含 serviceWorker);
- 使用 prefetch 技术;
- 服务端开启 gzip 压缩。
Metadata
Metadata
Assignees
Labels
No labels