Coursera 笔记

Module 03 · Cross-Browser JavaScript Optimization and Testing Frameworks跨浏览器 JavaScript 优化和测试框架

JavaScript OptimizationJavaScript 优化指南

Coursera ↗

观看完本视频后,您将能够:

  • 定义 Web 优化和 JavaScript
  • 解释 Web 优化如何影响网站成功因素
  • 识别 常见的 Web 性能优化方法
  • 了解 JavaScript 如何提升 Web 应用的性能

什么是 Web 优化?

Web 优化 影响 网站加载速度、响应时间和交互体验,决定了内容在用户访问时的呈现流畅度。

JavaScript 可创建高度交互的网站,但过度使用 JavaScript 可能会影响网站的可用性。
👉 目标: 缩短加载时间,减少响应延迟,同时增强交互体验。


Web 优化对网站成功的影响

优化因素 影响
转化率(Conversion Rate) 影响用户完成目标行为(购买、订阅等),网站加载越快,转化率越高。
可见性(Visibility) 影响 SEO 排名,页面加载慢会被搜索引擎降权,降低 SERP 排名。
可用性(Usability) 影响用户忠诚度,流畅的网站提升用户满意度,提高留存率。

常见 Web 性能优化方法

1 使用内容分发网络(CDN)

  • CDN 可在不同地区缓存网站内容,将资源存储在多个地理位置,减少服务器请求的延迟。
  • 优势:
    ✅ 缩短服务器往返时间
    ✅ 提高页面加载速度

2 文件压缩(File Compression)

  • HTML、JS、CSS 文件过大 会降低网站速度,应压缩代码文件 以提升响应速度。
  • 如何优化?
    • 使用 GZip 进行压缩:
      npm install compression-webpack-plugin --save-dev
      
    • 在 Webpack 配置中启用:
      const CompressionPlugin = require("compression-webpack-plugin");
      module.exports = {
        plugins: [new CompressionPlugin()],
      };
      

3 资源最小化(Resource Minification)

  • 去除不必要的代码(如空格、换行、注释),减少 JavaScript、CSS 和 HTML 文件大小。
  • 常见工具:
    • JS 压缩:JSMin
    • CSS 压缩:cssmin、YUI Compressor
    • HTML 压缩:PageSpeed Insights

4 优化图片和视频

  • 高分辨率图片和视频 会导致页面渲染变慢,应压缩图片,减少加载负担。
  • 优化方法:
    • 使用 Compressor.io、JPEGmini、TinyPNG 进行无损压缩。
    • HTML 响应式图片
      <img src="image.jpg" srcset="image-300w.jpg 300w, image-600w.jpg 600w" sizes="(max-width: 600px) 300px, 600px">
      
    • 使用 WebP 或 HTML5 Video 标签
      <video autoplay loop muted>
        <source src="video.webp" type="video/webp">
        <source src="video.mp4" type="video/mp4">
      </video>
      

5 启用缓存(Caching)

  • 缓存 允许浏览器存储网站资源,减少后续加载时间,提高访问速度。
  • 缓存类型:
    缓存类型 作用
    浏览器缓存 存储静态资源(CSS、JS、图片),减少 HTTP 请求
    服务器缓存 服务器存储最新的 HTML 页面,加速访问
    内存缓存 通过 RAM 存储临时数据,加快加载速度
    磁盘缓存 存储文件在本地磁盘,提升性能

6 最小化 HTTP 请求(Minimize HTTP Requests)

  • 减少 HTTP 请求次数,提高页面加载速度。
  • 优化技巧:
    • 合并 JavaScript 和 CSS 文件
    • 避免过多的插件、图片、外部资源
    • 按需加载第三方框架

JavaScript 如何提升 Web 应用性能?

1 异步编程(Asynchronous Programming)

  • 异步代码 在主线程外执行,减少阻塞,提高页面交互性。
  • 使用 async.js 进行异步管理
    async function fetchData() {
      let response = await fetch("https://api.example.com/data");
      let data = await response.json();
      console.log(data);
    }
    fetchData();
    

2 轻量代码(Light and Small Code Files)

  • 减少 JavaScript 代码体积,提高页面加载速度。
  • 优化方法:
    • 合并多个 JS 文件
    • 删除未使用的代码
    • 采用更高效的数据结构

3 Gzip 压缩(Gzip Compression)

  • 使用 Gzip 进行 JavaScript 压缩,减少文件大小
    npm install compression-webpack-plugin --save-dev
    
  • 在 Webpack 配置文件中启用
    const CompressionPlugin = require("compression-webpack-plugin");
    module.exports = {
      plugins: [new CompressionPlugin()],
    };
    

4 利用 HTTP/2 提高性能

  • HTTP/2 多路复用(Multiplexing) 支持多个并行请求,提高 JavaScript 加载速度。
  • 优化 Webpack 配置:
    module.exports = {
      devServer: {
        https: true, // 启用 HTTPS 以支持 HTTP/2
      },
    };
    

5 避免不必要的循环(Avoid Unnecessary Loops)

  • 优化循环,减少不必要的计算,提升性能。
  • 优化代码示例
    // ❌ 不优化
    for (let i = 0; i < array.length; i++) {
      console.log(array[i]);
    }
    
    // ✅ 更优写法
    array.forEach(item => console.log(item));
    

6 代码位置优化(Placement of Scripts)

  • JavaScript 文件应放在 <body> 底部,防止阻塞页面渲染
    <body>
      <script src="script.js"></script>
    </body>
    
  • 可使用 defer 或 async
    <script src="script.js" defer></script>
    

总结

在本视频中,您学习了:

✅ Web 优化的核心概念:

  • 影响网站 转化率(Conversion Rate)、可见性(SEO) 和 可用性(Usability)

✅ Web 性能优化方法:

  • 使用 CDN 缓存数据,提高加载速度
  • 压缩 HTML、CSS、JavaScript
  • 优化图片、启用缓存、减少 HTTP 请求

✅ JavaScript 优化技巧:

  • 异步编程 提升交互体验
  • 减少代码体积 加快加载速度
  • Gzip 压缩、HTTP/2 提升 JS 传输效率
  • 优化循环、调整脚本位置 进一步提升性能

应用这些优化技巧,您的 Web 应用将拥有更快的加载速度、更流畅的交互体验、更好的用户留存率! 🚀