exposir / TIL

📝 Today I Learned
https://exposir.github.io/blog/
4 stars 0 forks source link

前端全链路性能优化 #88

Closed exposir closed 2 years ago

exposir commented 2 years ago

性能优化

图片优化

JPEG(Joint Photographic Experts Group)

PNG(Portable Network Graphics)

GIF(Graphics Interchange Format)

Webp

用工具进行图片压缩

图片尺寸随网络环境变化

响应式图片

逐步加载图像

真的需要图片吗?

优化 HTML

精简 HTML 代码

文件放在合适的位置

增强用户体验

CSS 优化

提升 CSS 渲染性能

合适使用 CSS 选择器

提升 CSS 文件加载性能

精简 CSS 代码

合理使用 Web Fonts

CSS 动画优化

javascript 优化

JS 优化总体原则

提升 JS 文件加载性能

jS 变量和函数优化

jS 动画优化

合理使用缓存

JavaScript 缓存优化

Cookie

应用于:

SessionStorage

应用于:

LocalStorage

应用于:

IndexedDB

应用于:

减少浏览器回流、重绘

CSS

JS

最小化回流和重排

控制绘制过程和绘制区域

静态文件打包方案

webpack 打包优化

速度与激情

据读取速度

事实上数据访问速度有快慢之分,下面列出几个影响数据访问速度的因素:

DOM

流程控制

preload

Preload 提供了预获取资源的能力,可以将获取资源的行为从资源执行中分离出来。因此,Preload 可以构建自定义的资源加载与执行。

例如,应用可以使用 Preload 进行 CSS 资源的预加载、并且同时具备:高优先级、不阻塞渲染等特性。然后应用程序在合适的时间使用 CSS 资源:

<link rel="preload" href="/styles/other.css" as="style" />

构建优化

其他