前端技术方面的性能优化有哪些?
请问各位网友,你们平时都做了哪些性能优化?
请问各位网友,你们平时都做了哪些性能优化?
https://github.com/HuberTRoy/myown/blob/master/web%E7%A8%8B%E5%BA%8F%E4%BC%98%E5%8C%96%E6%80%9D%E8%B7%AF.pdf
优化公司产品时的总结,lighthouse 从不到 10 分已经提升到了 50~60+。
我自己的实践优化方面是:
1. 第三方资源非阻塞加载,async/defer 标记,这个提速很大。
2. DNS/CDN(百度统计等)链接的预查询与预连接,这个看不出来效果,提速微小。
3. 服务器端支持 HTTP2,比 HTTP1.1 快了不是一点两点。
4. 利用服务器端进行延迟加载,本身是个 Nuxt 的服务器端项目,利用 client-only 标签配合 import() + v-if 条件渲染,其实就是个分块+懒加载不过效果巨大,鹅且平时写组件的时候几乎都用 import 静态导入,调用频率低的模块也可以用 import()来改写。
5. webpack 打包时的 tree-shaking,老生常谈的 lodash 和 lodash-es 等等,这个减少的是传输体积,如果项目本身冗长这块提升也非常大。
6. 缓存这个就不用说了,检查检查有没有配置合理。
7. 图片移动端剪裁成 2 倍实际显示大小的尺寸,PC 端 1 倍,牺牲小部分清晰度的同时大幅减少传输体积。
8. 项目具体内部的代码优化,比如之前实现了一个利用 vue computed 属性的动态设置 style 的滚动效果,发现占用 CPU 20%以上….然后改成了 animation 。
少放东西别整花里胡哨是最管事的