插件窝 干货文章 如何减少JS加载时间

如何减少JS加载时间

script 加载 哈希 代码 366    来源:    2025-05-04

减少 JavaScript 加载时间的优化策略

1. 代码优化

  • 代码压缩:使用工具如UglifyJS、Terser或Webpack的production模式
  • Tree Shaking:移除未使用的代码(ES6模块系统)
  • 代码分割:将代码拆分为按需加载的块
  • 移除console.log:生产环境删除调试代码

2. 加载策略优化

  • 异步加载:使用asyncdefer属性 html <script async src="script.js"></script> <script defer src="script.js"></script>
  • 延迟加载:非关键JS延后加载
  • 预加载:对关键资源使用<link rel="preload"> html <link rel="preload" href="critical.js" as="script">

3. 缓存策略

  • 强缓存:设置适当的Cache-Control和Expires头
  • 内容哈希:文件名添加哈希实现长效缓存 main.abc123.js → 内容变更哈希会变
  • Service Workers:实现离线缓存

4. 传输优化

  • Gzip/Brotli压缩:服务器启用压缩
  • HTTP/2:利用多路复用减少连接开销
  • CDN分发:减少网络延迟

5. 第三方脚本优化

  • 异步加载第三方脚本
  • 延迟非必要第三方脚本
  • 考虑自托管关键第三方资源

6. 现代JS交付

  • ES模块:使用<script type="module">支持现代浏览器
  • Nomodule回退:为旧浏览器提供传统包 html <script type="module" src="modern.js"></script> <script nomodule src="legacy.js"></script>

7. 性能监控

  • 使用Lighthouse、WebPageTest等工具持续监控
  • 实施RUM(真实用户监控)捕获实际性能数据

通过综合应用这些策略,可以显著减少JavaScript加载时间,提升页面加载性能。