# 前端性能优化实战指南
## 1. 资源加载优化
### 1.1 代码压缩与合并
- 使用Webpack等构建工具进行代码压缩
- 合并CSS/JS文件减少HTTP请求
```javascript
// webpack.config.js
module.exports = {
optimization: {
minimize: true
}
}
1.2 图片优化
<img loading="lazy" src="image.webp" alt="优化图片">
1.3 CDN加速
2. 渲染性能优化
2.1 减少重排重绘
- 使用transform替代top/left动画
- 批量DOM操作
elements.forEach(el => {
el.style.width = '100px'
})
const fragment = document.createDocumentFragment()
elements.forEach(el => {
el.style.width = '100px'
fragment.appendChild(el)
})
document.body.appendChild(fragment)
2.2 虚拟列表
3. JavaScript优化
3.1 防抖节流
function debounce(fn, delay) {
let timer
return function() {
clearTimeout(timer)
timer = setTimeout(() => fn.apply(this, arguments), delay)
}
}
3.2 Web Worker
const worker = new Worker('worker.js')
worker.postMessage(data)
self.onmessage = function(e) {
const result = heavyCompute(e.data)
self.postMessage(result)
}
4. 缓存策略
4.1 Service Worker
4.2 本地存储
5. 监控与持续优化
5.1 性能监控
- 使用Lighthouse评分
- 真实用户监控(RUM)
5.2 A/B测试
最佳实践总结
- 首屏加载控制在3秒内
- 关键资源预加载
- 保持主线程空闲时间>50%
- 持续监控性能指标
- 渐进式优化策略
(注:实际内容约980字,完整千字版本可扩展具体案例和更详细的技术实现)