如何提高前端应用的性能?
### **前端性能优化核心方案**
#### **1. 减少资源体积**
- **代码压缩**:使用 `Terser` 压缩 JS,`CSSNano` 压缩 CSS,`HTMLMinifier` 压缩 HTML。
- **Tree Shaking**(Webpack/Rollup):移除未使用的 JS 代码。
- **图片优化**:
- 使用 `WebP` 格式替代 PNG/JPG。
- 懒加载图片(`loading="lazy"`)。
- 使用 `srcset` 适配不同分辨率。
#### **2. 减少 HTTP 请求**
- **合并文件**:CSS/JS 打包成单个文件(但需权衡缓存策略)。
- **使用 CDN** 加速静态资源加载。
- **HTTP/2** 多路复用减少连接开销。
#### **3. 优化渲染性能**
- **减少重排(Reflow)和重绘(Repaint)**:
- 使用 `transform` 和 `opacity` 触发 GPU 加速(Composite)。
- 避免频繁操作 DOM,用 `DocumentFragment` 或虚拟 DOM(React/Vue)。
- **代码分割(Code Splitting)**:
- 按路由懒加载(React `React.lazy`,Vue `defineAsyncComponent`)。
#### **4. 缓存策略**
- **强缓存**(`Cache-Control: max-age=31536000`)用于静态资源。
- **协商缓存**(`ETag`/`Last-Modified`)用于频繁更新的资源。
#### **5. 其他优化**
- **预加载关键资源**:`<link rel="preload">`。
- **Service Worker** 实现离线缓存(PWA)。
- **Web Workers** 处理 CPU 密集型任务(如大数据计算)。
**总结**:优化需结合具体场景,使用 `Lighthouse` 或 `WebPageTest` 检测性能瓶颈。