原则
- 多使用内存缓存和其他方法
- 减少cpu计算,减少网络请求
入手
- 加载页面和静态资源
- 静态资源的合并和压缩
- 静态资源缓存
- 使用cdn,让资源加载更快
- 使用ssr后端渲染,数据直接输出到html
- 非核心代码异步加载
- 方式:动态脚本加载,defer,async
- 区别:defer是在html解析完之后才会执行,如果是多个,按照加载的顺序执行,async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关
- 预解析DNS
<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
- 页面渲染
- css放前面,js放后面
- 懒加载
- 减少DOM查询,对DOM查询缓存
- 减少DOM操作,多个操作尽量合并在一起
- 事件节流
- 尽早执行操作(DOMContentedLoaded)