规则1-减少HTTP请求
- 雪碧图
- 内联图片
- 合并脚本和样式表
- UI库按需加载,异步组件
规则2-使用内容分发网络(CDN)
规则3-合理使用浏览器缓存
css、js、img等静态资源使用强缓存(利用webpack等打包工具添加hash值,区分版本)
Expires头,Cache-Control:max-age, 可以同时使用,兼容IE,expires是绝对时间存在缺点,Cache-Control: max-age是相对时间。
html文档使用协商缓存
- last-Modify/if-Modify-Since(最后修改时间),缺点:短时间,毫秒级内发生变化不会改变last-Modify
- ETag/If-None-Match , (返回文件的唯一hash值,资源每次改变都会发生变化)
规则4-压缩组件
- nginx服务器开启gzip压缩
规则5-将样式表放在顶部,脚本放底部
减少白屏时间,因为js脚本加载会阻塞页面渲染。
规则6-减少DNS查找
规则7-删除重复脚本,压缩js,css
利用tree-shaking 等技术删掉无用脚本