如何进行前端优化
1.减少 HTTP 请求....
2.使用 HTTP2
3.使用服务端渲染
4.静态资源使用 CDN
5.将 CSS 放在文件头部,JavaScript 文件放 ...
6.使用字体图标 iconfont 代替图片图标
7.善用缓存,不重复加载相同的资源
8.压缩文件
9.图片优化
(1).图片延迟加载
(2). 响应式图片
(3). 调整图片大小
(4). 降低图片质量
(5). 尽可能利用 CSS3 效果代替图片
(6). 使用 webp 格式的图片
10. 通过 webpack 按需加载代码,提取第三库代码,减少 ES6 转为 ES5 的冗余代码
11. 减少重绘重排
12. 使用事件委托
13. 注意程序的局部性
14. if-else 对比 switch
15. 查找表
16. 避免页面卡顿
17. 使用 requestAnimationFrame 来实现视觉变化
18. 使用 Web Workers
19. 使用位操作
20. 不要覆盖原生方法
21. 降低 CSS 选择器的复杂性
(1). 浏览器读取选择器,遵循的原则是从选择器的右边到左边读取。
(2). CSS 选择器优先级
22. 使用 flexbox 而不是较早的布局模型
23. 使用 transform 和 opacity 属性更改来实现动画
24. 合理使用规则,避免过度优化
性能优化主要分为两类:
加载时优化
运行时优化
改善响应时间最简单的途径就是减少HTTP请求的数量次数。
2、使用字体图标
在可以大量使用字体图标的地方我们可以尽可能使用字体图标,字体图标可以减少很多图片的使用,从而减少http请求,字体图标还可以通过CSS来设置颜色、大小等样式,何乐而不为。
3、合并脚本和样式表
将多个样式表或者脚本文件合并到一个文件中,可以减少HTTP请求的数量从而缩短效应时间。不过合并所有的样式文件或者脚本文件可能会导致在一个页面加载时加载了多于自己所需要的样式或者脚本,对于只访问该网站一个(或几个)页面的人来说可能导致反而增加了下载量。
4、CSS Sprites技术
CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,然后通过CSS background背景定位技术技巧布局网页背景。这样一来,特别是图片特别多的网站,如果能用css sprites降低图片数量,带来的将是速度的提升。
5、页面渲染优化
在编写前端页面的时候,把CSS资源引用代码放到HTML文件的头部,这样浏览器可以优先下载CSS并尽早完成页面渲染!JavaScript的引用代码放到HTML文件底部,防止JS的加载和解析执行对页面渲染造成阻塞!
6、手机端优化
在移动端访问时,不一定有WiFi,偶尔网络速度会比较慢,因此为了加快完成页面的加载,需要保证首屏加载资源最小化。不是首页面的数据,我们可以采用异步加载或者滚动加载。
7、页面缓存优化
合理利用浏览器缓存可以大大提高页面中静态资源的加载速度
8、图片优化
在手机端上比较重要,尽量不要以原图的形式直接使用,因为那样很消耗流量,而且加载时间更长!使用较小的图片或者压缩后的图片,不仅能尽快完成加载还能节省流量。