杰瑞科技汇

Chrome开发教程该怎么学?

Chrome 开发全景图

Chrome 开发主要涵盖三个层面,根据你的目标不同,学习的路径也不同:

Chrome开发教程该怎么学?-图1
(图片来源网络,侵删)
  1. Web 开发者:使用 Chrome 的开发者工具来调试、分析和优化网站,这是最基础也是最重要的技能。
  2. 网站/应用开发者:构建在 Chrome 中运行的现代 Web 应用(如 React, Vue, Angular 应用)。
  3. Chrome 扩展开发者:开发能够增强 Chrome 功能的插件。

我们将按照这个顺序,从浅入深地进行讲解。


第一部分:Chrome 开发者工具 - Web 开发者的瑞士军刀

这是所有 Web 开发的基石,无论你使用什么框架,都必须熟练掌握 DevTools。

如何打开 DevTools

  • 快捷键 (推荐):
    • Windows/Linux: Ctrl + Shift + I
    • macOS: Cmd + Option + I
  • 菜单: 点击 Chrome 右上角的三个点 -> 更多工具 -> 开发者工具。
  • 右键菜单: 在页面上右键点击,选择“检查”。

DevTools 核心面板详解

打开 DevTools 后,你会看到多个面板,我们逐一来看每个面板的用途。

a) Elements (元素) - 查看和修改 DOM
  • 用途: 查看和实时编辑页面的 HTML 结构 (DOM) 和 CSS 样式。
  • 功能:
    • HTML 树: 左侧显示页面的 HTML 结构,你可以点击任意元素进行高亮。
    • CSS 样式: 右侧显示选中元素的 CSS 规则,你可以实时修改任何 CSS 属性的值,立即看到效果,这对于调试样式问题至关重要。
    • 计算样式: 查看浏览器最终计算出的所有样式,包括继承的样式和默认值。
    • 强制状态: 使用 hover, active, focus 等伪类按钮,模拟鼠标悬停、点击等状态,方便调试交互样式。
    • 盒子模型: 可视化展示元素的 margin, border, padding, content,帮助你理解布局。
b) Console (控制台) - 日志与交互
  • 用途: 显示 JavaScript 错误、警告和信息日志,同时也是一个强大的命令行工具。
  • 功能:
    • 输出信息:
      • console.log('普通信息')
      • console.warn('警告信息')
      • console.error('错误信息')
    • 交互式执行: 在控制台直接输入和执行 JavaScript 代码,测试函数、修改变量。
    • 常用命令:
      • $0: 获取当前在 Elements 面板中选中的 DOM 元素。
      • dir(obj): 以对象的形式显示一个 DOM 元素,比 log 更详细。
      • clear(): 清空控制台。
c) Sources (源代码) - 调试 JavaScript
  • 用途: 查看和调试网站的 JavaScript 源代码。
  • 功能:
    • 文件导航: 左侧面板列出所有页面加载的 JavaScript、CSS 等文件。
    • 断点调试:
      • 行断点: 在代码行号上单击,设置断点,当代码执行到这一行时会暂停。
      • 条件断点: 在行断点上右键,可以设置条件,只有当条件为真时才断点。
      • 日志断点: 不暂停代码,而是在此处执行 console.log
    • 调试控制:
      • Resume (F8): 继续执行,直到下一个断点。
      • Step over (F10): 单步执行,跳过当前函数。
      • Step into (F11): 进入当前函数内部。
      • Step out (Shift + F11): 跳出当前函数。
d) Network (网络) - 分析网络请求
  • 用途: 查看页面加载时发出的所有网络请求(HTML, CSS, JS, 图片, API 调用等)。
  • 功能:
    • 请求列表: 显示所有请求的 URL、方法、状态码、大小、耗时等。
    • 请求详情: 点击任意请求,查看其 Headers(请求头、响应头)、Payload(请求体)、Response)。
    • 性能分析: 可以按 Type (类型) 或 Status (状态码) 筛选请求,快速定位问题。
    • 模拟弱网: 在网络设置中,可以模拟慢速网络(如 3G),测试网站在弱网环境下的表现。
e) Performance (性能) - 分析运行时性能
  • 用途: 记录和分析页面在运行过程中的性能瓶颈,如渲染、绘制、JavaScript 执行等。
  • 使用方法:
    1. 点击 Record 按钮开始记录。
    2. 在页面上进行你想要测试的操作(如滚动、点击、动画)。
    3. 点击 Stop 停止记录。
    4. 分析生成的火焰图和摘要,找出耗时长的任务。
f) Application (应用) - 查看存储和 PWA 信息
  • 用途: 查看与 Web 应用相关的数据,如本地存储、缓存、Cookie、Service Worker 等。
  • 功能:
    • Manifest: 查看 PWA (Progressive Web App) 的配置文件。
    • Storage: 查看 Local Storage, Session Storage, IndexedDB 的内容。
    • Cache: 查看 Service Worker 缓存了哪些文件。
    • Cookies: 查看、添加、删除当前域的 Cookies。
g) Lighthouse (灯塔) - 性能、SEO、无障碍审计
  • 用途: 一键生成关于你的网页在性能、SEO (搜索引擎优化)、无障碍、最佳实践等方面的报告,并提供优化建议。
  • 使用方法:
    1. 在 DevTools 中切换到 Lighthouse 面板。
    2. 选择要审计的类别(全选即可)。
    3. 点击 Generate report
    4. 等待几秒钟,查看详细的报告和改进建议。

第二部分:现代 Web 开发实战

掌握了 DevTools,你就可以开始构建真正的 Web 应用了。

Chrome开发教程该怎么学?-图2
(图片来源网络,侵删)

核心技术栈

  • HTML5: 网页的骨架,语义化标签 (<header>, <nav>, <main>, <footer>)、多媒体 (<video>, <audio>)、Canvas 等。
  • CSS3: 网页的样式,Flexbox、Grid 布局、动画、变量、响应式设计 (媒体查询)。
  • JavaScript (ES6+): 网页的行为,异步编程 (async/await)、模块化 (import/export)、DOM 操作、API 调用。

开发环境与工具

  • 代码编辑器:
    • Visual Studio Code (VS Code): 目前最流行的选择,插件生态极其丰富。
    • 推荐插件:
      • Live Server: 一键启动本地开发服务器,支持热重载。
      • Prettier: 代码格式化工具。
      • ESLint: 代码检查工具。
      • Auto Rename Tag: 自动重命名配对的 HTML/XML 标签。
  • 浏览器:
    • Chrome: 本教程的核心。
    • Firefox: 同样优秀的开发者工具,可以作为对比参考。

框架与库

对于复杂的单页应用,使用框架是必须的。

  • React: 由 Facebook 开发,目前最流行的前端框架之一,组件化思想深入人心。
  • Vue: 渐进式框架,易学易用,在国内非常流行。
  • Angular: 由 Google 开发,功能全面,适合大型企业级应用。

学习建议: 先掌握原生 JavaScript 和 DOM 操作,再选择一个框架深入学习。

构建工具

现代 Web 应用需要打包、压缩、转译等,构建工具可以自动化这些流程。

  • Vite: 新一代前端构建工具,启动和热更新速度极快,是目前的主流选择。
  • Webpack: 功能强大但配置复杂的经典构建工具,仍有大量项目在使用。

第三部分:Chrome 扩展开发

如果你想为 Chrome 创建新功能,比如下载管理、广告拦截、网页增强等,就需要开发扩展。

Chrome开发教程该怎么学?-图3
(图片来源网络,侵删)

扩展的核心概念

一个扩展由几个关键文件组成:

  • manifest.json: 扩展的“身份证”,定义了扩展的基本信息(名称、版本、权限)、功能(弹出窗口、后台脚本、内容脚本等)。
  • Background Scripts (后台脚本): 在后台持续运行的脚本,用于处理长期任务,如监听事件、管理扩展状态,使用 chrome.* API 与 Chrome 交互。
  • Content Scripts (内容脚本): 注入到网页内部的脚本,可以读取和修改网页的 DOM,但不能直接访问网页的 JavaScript 变量。
  • Popup (弹出窗口): 点击扩展图标时显示的小窗口,通常用于用户交互。
  • Options (选项页): 扩展的设置页面。
  • Permissions (权限): 扩展需要申请的权限,如 tabs, storage, activeTab 等,权限越高,用户越警惕。

开发你的第一个扩展:一个简单的页面标题修改器

目标: 当用户点击扩展图标时,将当前页面的标题修改为 "Hello, World!"。

步骤:

  1. 创建项目文件夹: my-first-extension

  2. 创建 manifest.json:

    {
      "manifest_version": 3,
      "name": "Hello World Extension",
      "version": "1.0",
      "description": "A simple extension that changes the page title.",
      "permissions": ["activeTab", "scripting"],
      "action": {
        "default_popup": "popup.html",
        "default_icon": "icon.png"
      }
    }
    • manifest_version: 3: 使用最新的 Manifest V3。
    • permissions: activeTab 表示只对当前激活的标签页有临时权限,scripting 用于注入脚本。
    • action: 定义了点击扩展图标时的行为。
  3. 创建 popup.html:

    <!DOCTYPE html>
    <html>
    <head>
      <style> body { width: 200px; text-align: center; } </style>
    </head>
    <body>
      <h3>Hello World!</h3>
      <button id="changeTitle">Change Title</button>
      <script src="popup.js"></script>
    </body>
    </html>
  4. 创建 popup.js:

    document.getElementById('changeTitle').addEventListener('click', () => {
      // 向当前标签页发送消息
      chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
        chrome.scripting.executeScript({
          target: { tabId: tabs[0].id },
          function: changePageTitle,
        });
      });
    });
    // 这个函数会在网页的上下文中执行
    function changePageTitle() {
      document.title = "Hello, World!";
    }
  5. 添加一个 icon.png: 准备一个 128x128 像素的图标文件。

  6. 加载扩展:

    • 在 Chrome 中打开 chrome://extensions/
    • 打开右上角的 开发者模式
    • 点击 加载已解压的扩展程序 按钮。
    • 选择你创建的 my-first-extension 文件夹。

你的扩展已经安装成功了!打开任意一个网页,点击扩展图标,再点击按钮,页面标题就会改变。

学习资源


  1. 入门阶段 (1-2周):

    • 目标: 熟练使用 Chrome DevTools 的 Elements, Console, Sources 面板。
    • 实践: 找一个简单的静态网站,尝试修改它的样式和内容,并在控制台输出信息。
  2. 基础阶段 (1-2个月):

    • 目标: 掌握 HTML, CSS, JavaScript 基础,并能使用 VS Code + Live Server 开发简单的动态网页。
    • 实践: 尝试做一个待办事项列表、一个简单的计算器或一个个人作品集网站。
  3. 进阶阶段 (2-6个月):

    • 目标: 学习一个现代前端框架(如 React),并了解构建工具(如 Vite)。
    • 实践: 使用框架重构你的项目,或者开发一个功能更复杂的单页应用,如一个天气应用或一个博客前端。
  4. 高级阶段 (长期):

    • 目标: 深入学习性能优化、无障碍访问、PWA,并开发自己的 Chrome 扩展。
    • 实践: 对自己的项目进行 Lighthouse 审计并优化,或者构思并实现一个有实际用途的 Chrome 扩展。

祝你 Chrome 开发之旅顺利!

分享:
扫描分享到社交APP
上一篇
下一篇