Web 性能优化:首屏加载速度提升 10 个技巧

介绍 Web 性能优化的实用技巧,包括资源压缩、懒加载、CDN、缓存等。

Web 前端 2026-06-13 10 分钟

Web 性能优化:首屏加载速度提升 10 个技巧

性能优化是前端开发的重要课题。本文介绍 10 个实用的性能优化技巧。

1. 资源压缩

// Vite 自动压缩
// vite.config.js
export default defineConfig({
  build: {
    minify: 'terser',
    rollupOptions: {
      output: {
        manualChunks: {
          vendor: ['vue', 'vue-router']
        }
      }
    }
  }
})

2. 代码分割

// 路由懒加载
const routes = [
  {
    path: '/user',
    component: () => import('./views/User.vue')
  }
]

3. 图片优化

<!-- 使用 WebP 格式 -->
<picture>
  <source srcset="image.webp" type="image/webp">
  <img src="image.jpg" alt="图片">
</picture>

<!-- 懒加载 -->
<img loading="lazy" src="image.jpg" alt="图片">

4. CDN 加速

<!-- 使用 CDN -->
<script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.js"></script>

5. 缓存策略

// Service Worker 缓存
self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(response => response || fetch(event.request))
  );
})

6. 预加载

<!-- 预加载关键资源 -->
<link rel="preload" href="font.woff2" as="font" crossorigin>
<link rel="preload" href="style.css" as="style">

<!-- 预连接 -->
<link rel="preconnect" href="https://cdn.example.com">

7. 减少重排重绘

// ❌ 多次操作 DOM
element.style.width = '100px';
element.style.height = '100px';
element.style.margin = '10px';

// ✅ 批量操作
element.style.cssText = 'width:100px;height:100px;margin:10px';

// ✅ 使用 class
element.classList.add('resized');

8. 虚拟列表

// 只渲染可见区域
const visibleItems = items.slice(startIndex, endIndex);

9. Web Workers

// 复杂计算放到 Worker
const worker = new Worker('worker.js');
worker.postMessage(data);
worker.onmessage = e => console.log(e.data);

10. 监控性能

// Performance API
const timing = performance.timing;
const loadTime = timing.loadEventEnd - timing.navigationStart;
console.log('页面加载时间:', loadTime);

性能指标

指标 说明 目标
FCP 首次内容绘制 < 1.8s
LCP 最大内容绘制 < 2.5s
FID 首次输入延迟 < 100ms
CLS 累积布局偏移 < 0.1

总结

性能优化是持续的过程。通过资源压缩、代码分割、懒加载、CDN 等手段,可以显著提升页面加载速度。

📚 相关文章