Skip to main content
通过从官方模板脚手架生成扩展,跳过手动搭建目录结构与配置,更快地起步。

模板能力

  • 就绪的项目结构: 从一份可用的 manifest、脚本与源码布局开始。
  • 针对技术栈的设置: 按照框架与运行时需求选择模板。
  • 更快的上手: 几分钟之内从想法到可运行的扩展。
  • 一致的默认配置: 减少项目之间和团队成员之间的设置漂移。

快速使用

<slug> 替换为你想要的模板名。

可用模板

选择与你项目匹配的默认技术栈。每张卡片都会脚手架生成一个最小可运行的扩展,并附带可用的 manifest.json

JavaScript

JavaScript原生 ES 模块,无编译步骤。最快的起步方式。

TypeScript

TypeScript在 popup、content 与 background 脚本中提供严格类型。

Svelte

Svelte编译时 UI 加上极小的运行时,适合 content script。

Vue

Vue为 popup、options 与 content script 接好的单文件组件。

Preact

PreactReact API 配 3kB 运行时。在意打包体积时是不错的选择。

React

React基于组件的 UI,完整支持 Manifest V3,并为 popup 与 options 接好了热模块替换。

工作原理

当你运行 create --template=<slug> 时,Extension.js 会拉取所选模板,脚手架生成项目文件,并可选地安装依赖。 只有 javascript 模板随 CLI 一起分发,所以它可以离线脚手架生成,不需要任何网络请求。它也是省略 --template 时的默认模板。其他所有名称都会在创建时下载模板目录归档包。 该目录包含 6 个分组、大约 50 个模板:starters、sidebar、content scripts、new tab、toolbar action 与特殊目录。运行 extension create --help 可以查看全部名称。 不在目录中的名称会以 E_TEMPLATE_NOT_FOUND 失败,并且什么也不会创建。下载失败则会报告为下载错误,所以网络问题绝不会看起来像拼写错误。

可复现的脚手架

模板语料库固定在 examples 仓库的一个不可变提交上。同一个模板两次脚手架生成的文件总是一致的,已发布的 CLI 也绝不会跟随一个会移动的分支。 你可以指向另一份语料库:
EXTENSION_CREATE_TEMPLATE_REF 接受分支、tag 或提交 SHA。把它设为 main 就会恢复跟随浮动分支的行为。

从 URL 脚手架生成

--template 也接受用 GitHub URL 或 ZIP URL 代替目录中的模板名:

更多模板

在示例仓库中查找官方模板源码: 模板目录名直接对应 --template=<slug>

最佳实践

  • 使用模板快速搭建项目。
  • 从你已经熟悉的技术栈对应的模板开始。
  • 根据项目需求,选择最契合的浏览器扩展上下文。

下一步