news 2026/6/11 8:50:00

vite-plugin-web-extension 终极指南:使用 Vite 快速开发 Chrome 扩展的完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vite-plugin-web-extension 终极指南:使用 Vite 快速开发 Chrome 扩展的完整教程

vite-plugin-web-extension 终极指南:使用 Vite 快速开发 Chrome 扩展的完整教程

【免费下载链接】vite-plugin-web-extensionVite plugin for developing Chrome/Web Extensions项目地址: https://gitcode.com/gh_mirrors/vit/vite-plugin-web-extension

vite-plugin-web-extension 是一款基于 Vite 的强大工具,能够帮助开发者快速构建现代化的 Chrome 扩展。它继承了 Vite 众所周知的极速构建特性,让扩展开发过程更加流畅高效。无论是新手还是有经验的开发者,都能通过本指南轻松掌握使用 vite-plugin-web-extension 开发 Chrome 扩展的方法。

为什么选择 vite-plugin-web-extension?

在传统的 Chrome 扩展开发中,开发者常常面临构建缓慢、配置繁琐等问题。而 vite-plugin-web-extension 的出现,为解决这些痛点带来了曙光。它利用 Vite 的快速热更新和高效打包能力,极大地提升了开发效率。

该插件具有以下核心优势:

  • 极速开发体验:借助 Vite 的开发服务器,实现快速的热模块替换,让代码修改即时生效。
  • 简化配置:只需在 Vite 配置中添加一个插件,即可构建完整的 Chrome 扩展,无需复杂的额外配置。
  • 多框架支持:提供多种前端框架的模板,如 React、Vue、Svelte 等,满足不同开发者的需求。
  • 与 Vite 生态兼容:可以与其他 Vite 插件无缝集成,扩展功能丰富。

快速开始:创建新项目

想要快速上手使用 vite-plugin-web-extension,最简单的方法是使用官方提供的模板创建新项目。以下是使用不同包管理器创建项目的命令:

::: code-group

pnpm create vite-plugin-web-extension
yarn create vite-plugin-web-extension
npm create vite-plugin-web-extension

:::

创建过程中,你可以从多种模板中进行选择,包括 JavaScript 和 TypeScript 版本的 vanilla、vue、react 和 svelte:

JavascriptTypescript
vanilla-jsvanilla-ts
vue-jsvue-ts
react-jsreact-ts
svelte-jssvelte-ts

项目初始化完成后,运行pnpm dev即可在开发模式下打开浏览器并安装扩展,运行pnpm build则可将扩展打包用于生产环境。

手动设置项目

如果你更喜欢手动设置项目,按照以下步骤操作即可:

1. 创建 package.json

首先,创建一个package.json文件,配置项目基本信息和脚本:

{ "name": "Example Extension", "type": "module", "scripts": { "dev": "vite dev", "build": "vite build" } }

2. 安装依赖

安装 Vite、vite-plugin-web-extension 以及其他必要的依赖:

pnpm i vite vite-plugin-web-extension pnpm i webextension-polyfill

3. 创建 manifest.json 和入口文件

创建manifest.json文件,定义扩展的基本信息和权限:

// manifest.json { "name": "Example Extension", "version": "1.0.0", "manifest_version": 3, "background": { "service_worker": "src/background.ts" }, "options_page": "src/options.html" }

创建背景脚本src/background.ts

// src/background.ts import browser from "webextension-polyfill"; browser.runtime.onInstalled.addListener(() => { console.log("Installed!"); });

创建选项页面src/options.html

<!-- src/options.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Project Name</title> </head> <body> Hello world! </body> </html>

4. 配置 Vite

创建vite.config.ts文件,添加 vite-plugin-web-extension 插件:

// vite.config.ts import { defineConfig } from "vite"; import webExtension from "vite-plugin-web-extension"; export default defineConfig({ plugins: [webExtension()], });

完成以上步骤后,你就可以运行pnpm dev启动开发服务器,或运行pnpm build构建生产版本的扩展了。

插件配置选项

vite-plugin-web-extension 提供了丰富的配置选项,让你可以根据项目需求进行个性化设置。以下是一些常用的配置选项:

manifest

指定扩展的 manifest 文件路径或返回 manifest 对象的函数。默认为"manifest.json"

webExtension({ manifest: "src/manifest.json" })

browser

当在 manifest 模板中使用浏览器前缀时,定义此选项可确保只包含匹配的标签。

webExtension({ browser: "chrome" })

disableAutoLaunch

设置为true可阻止开发服务器启动时自动启动浏览器。在 WSL/WSL2 等无法打开浏览器的环境中非常有用。

webExtension({ disableAutoLaunch: true })

transformManifest

一个钩子函数,允许你在 manifest 写入输出目录之前对其进行修改。

webExtension({ transformManifest(manifest) { // 对 manifest 进行修改 return manifest; } })

更多详细的配置选项可以参考官方文档 docs/config/plugin-options.md。

开发与构建

开发模式

运行pnpm dev命令启动开发服务器,vite-plugin-web-extension 会自动构建扩展并启动浏览器,你可以在浏览器中加载扩展进行调试。开发过程中,代码的修改会实时反映到扩展中,无需手动刷新。

生产构建

运行pnpm build命令可将扩展打包为生产版本。构建完成后,输出文件会保存在dist目录中,你可以将该目录压缩后上传到 Chrome 网上应用店。

总结

vite-plugin-web-extension 为 Chrome 扩展开发带来了现代化的体验,借助 Vite 的强大功能,让开发过程更加高效、便捷。通过本指南,你已经了解了如何使用该插件创建项目、进行配置以及开发构建扩展。

无论你是开发简单的工具类扩展,还是复杂的 Web 应用扩展,vite-plugin-web-extension 都能满足你的需求。立即尝试使用它,开启你的 Chrome 扩展开发之旅吧!

【免费下载链接】vite-plugin-web-extensionVite plugin for developing Chrome/Web Extensions项目地址: https://gitcode.com/gh_mirrors/vit/vite-plugin-web-extension

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 8:48:59

社交网络水军检测:行为分析与深度强化学习实践

1. 社交网络水军检测的技术背景与挑战 在当今数字化社交环境中&#xff0c;水军账号已成为影响网络信息生态的重要因素。根据最新研究数据&#xff0c;主流社交平台中约5-15%的活跃账号存在异常行为特征。这些账号通过精心设计的策略模仿真实用户&#xff0c;传统基于内容或简单…

作者头像 李华
网站建设 2026/6/11 8:48:52

SpringBoot集成MyBatis:实现高效数据访问

在现代Java开发中&#xff0c;SpringBoot以其简洁的配置和强大的功能&#xff0c;迅速成为构建企业级应用的首选框架。而MyBatis作为一款优秀的持久层框架&#xff0c;以其灵活的SQL映射和良好的性能&#xff0c;广泛应用于各种项目中。将SpringBoot与MyBatis集成&#xff0c;可…

作者头像 李华
网站建设 2026/6/11 8:46:04

基于Python的国产汽车销量预测系统的设计与实现

第1章 绪论1.1 课题背景我国汽车工业不断发展&#xff0c;国产汽车在市场中的份额越来越大&#xff0c;销量受多种因素的影响&#xff0c;经济形势、政策法规、市场竞争、消费者偏好等等。准确预测国内汽车的销量对于汽车制造商来说意义重大&#xff0c;对制定生产计划、资源优…

作者头像 李华
网站建设 2026/6/11 8:43:52

惠普OMEN游戏本终极性能优化:3大优势教你如何彻底掌控硬件

惠普OMEN游戏本终极性能优化&#xff1a;3大优势教你如何彻底掌控硬件 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在…

作者头像 李华
网站建设 2026/6/11 8:39:58

Spiral RoPE:突破视觉Transformer位置编码的方向限制

1. 旋转位置编码&#xff08;RoPE&#xff09;技术背景解析旋转位置编码&#xff08;Rotary Position Embedding, RoPE&#xff09;作为Transformer架构中的关键技术突破&#xff0c;彻底改变了传统位置编码的实现方式。在自然语言处理领域&#xff0c;RoPE已成为LLaMA、Qwen等…

作者头像 李华