Repolode
extension-js

extension-js/extension.js

零配置的跨浏览器扩展开发框架,支持 Chrome、Edge、Firefox 和 Safari 的开发与打包。

Star
5,197
Fork
142
未关闭 Issue
5
最近提交
6小时前

这是什么?

Extension.js 是一套用于开发浏览器扩展的 CLI 与构建工具链,可以用同一份代码面向 Chrome、Edge、Firefox 和 Safari 构建。默认采用 Manifest V3,并针对各浏览器的差异自动做适配。

开发阶段,它为 popup、options、devtools 等扩展页面提供热模块替换,支持 React、Vue、Svelte 和 Preact 组件。内容脚本和 Service Worker 支持定向重载,保存文件时不必重启整个扩展,且无需配置 webpack 或 rollup。

此外,CLI 还能生成生产构建、打包为可提交商店的 ZIP,安装受管理的浏览器二进制文件,并可直接从 GitHub 示例地址运行扩展。CLI 可在 Node.js、Deno 和 Bun 上运行。

核心功能

  • 01扩展页面支持热模块替换,内容脚本和 Service Worker 可定向重载
  • 02零配置,无需维护 webpack 或 rollup 配置
  • 03默认使用 Manifest V3,并适配 Chrome、Edge、Firefox 和 Safari
  • 04生产构建可直接打包为 ZIP,便于提交商店
  • 05通过 CLI 安装受管理的浏览器二进制文件
  • 06内置 TypeScript、React、Vue、Svelte 和 Preact 支持

适用场景

  • 开发需要同时上架 Chrome 应用商店和 Firefox Add-ons 的跨浏览器扩展
  • 为已有扩展添加热重载,只需安装一个开发依赖
  • 将 GitHub 上的 Chrome 示例在 Edge 或 Firefox 中直接运行测试
  • 使用 React、Vue、Svelte 或 Preact 开发扩展界面

快速上手

  1. 1

    使用 CLI 创建新项目

    npx extension@latest create my-extension
  2. 2

    进入项目文件夹

    cd my-extension
  3. 3

    启动开发服务器和浏览器

    npm run dev

使用前须知

  • CLI 需要 Node.js 22.12 及以上、Deno 2.5 及以上或 Bun 1.2 及以上版本。
  • CLI 会拒绝运行在 Deno 2.8.0 上。

收录于专题

标签

常见问题

extension.js 是什么?
零配置的跨浏览器扩展开发框架,支持 Chrome、Edge、Firefox 和 Safari 的开发与打包。 Extension.js 是一套用于开发浏览器扩展的 CLI 与构建工具链,可以用同一份代码面向 Chrome、Edge、Firefox 和 Safari 构建。默认采用 Manifest V3,并针对各浏览器的差异自动做适配。
extension.js 可以免费使用吗?用的什么许可证?
extension.js 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
extension.js 还在维护吗?
活跃维护中。extension.js 最近一次提交是在 2026年10月23日。
extension.js 适合用来做什么?
开发需要同时上架 Chrome 应用商店和 Firefox Add-ons 的跨浏览器扩展 为已有扩展添加热重载,只需安装一个开发依赖 将 GitHub 上的 Chrome 示例在 Edge 或 Firefox 中直接运行测试 使用 React、Vue、Svelte 或 Preact 开发扩展界面
extension.js 怎么安装和运行?
使用 CLI 创建新项目: npx extension@latest create my-extension 进入项目文件夹: cd my-extension 启动开发服务器和浏览器: npm run dev
在哪里获取 extension.js?
源代码和安装说明在 GitHub 上:https://github.com/extension-js/extension.js

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目