构建 Chrome 扩展:从创意到自动化发布

发布: (2026年1月11日 GMT+8 14:27)
3 min read
原文: Dev.to

Source: Dev.to

介绍

Chrome 扩展是快速交付实用软件的方式之一。
它们轻量、功能强大,并且迫使你在明确的边界内思考。

本文将演示如何使用现代工具构建 Chrome 扩展,以及如何使用 GitHub Actions 自动化版本管理和发布。

我们要构建的内容

我们将构建一个简单的 Chrome 扩展,包含:

  • 与网页交互的 content script
  • 处理逻辑和协调的 background script
  • 用于用户交互的 popup UI
  • 自动化的构建、版本管理和 GitHub Release

关键组件

Manifest

定义元数据、权限和入口点。

Content Script

在网页上下文中运行。
可以读取和操作 DOM。

Background Script

独立于页面运行。
处理状态、消息传递和生命周期事件。

点击扩展图标时显示的短暂界面。

Messaging Model

Chrome 扩展是事件驱动的。各组件之间从不直接访问对方。

  • Popup → 发送用户意图
  • Background → 协调逻辑
  • Content Script → 影响页面

Chrome extension components

分发策略

Chrome 扩展通常根据项目阶段采用以下一种方式进行分发。

Chrome Web Store(公开 & 自动更新)

面向公众分发时,可将 Chrome 扩展发布到 Chrome Web Store。

  • 需要一次性 5 美元的开发者注册费
  • 支持自动更新
  • 让非技术用户也能发现并安装扩展

GitHub Releases(免费 & 灵活)

用户通过下载 Release 包并手动在 Chrome 中加载来安装扩展。

借助 GitHub Actions,Release 可以完全自动化:

  • 版本化的 ZIP 产物
  • 构建一致性
  • 无需审查或批准流程
  • 零成本

自动滚动扩展

作为实际案例,我构建了一个 Chrome 自动滚动扩展,并使用 GitHub Actions 搭建了全自动的发布流水线。项目包括:

  • 控制页面滚动的 content script
  • 用于用户交互的 popup UI
  • 用于协调的 background script
  • 每次 Git tag 推送时自动生成带版本号的 Release

源代码

https://github.com/Prajwol-Shrestha/auto-scroll-browser-extenstion

发布自动化概览

在本项目中,Release 的自动化流程如下:

  • 推送一个 Git tag(例如 v1.0.1
  • GitHub Actions 构建扩展
  • 将构建产出打包成 ZIP
  • 自动创建 GitHub Release
  • 将 ZIP 作为 Release 资产附加上去
Back to Blog

相关文章

阅读更多 »