CLI 手册:子命令逐个讲
本教程共 45 篇 · 第 42 篇 · 更新于 2026-08-13 · 约 4 分钟阅读
本节目标:把
wxt的七条子命令逐一拆开,讲清每条命令独有的参数和适用场景。上一节是总览,这一节是速查手册,用到哪条查哪条。
wxt build:生产构建
npx wxt build [root]
构建生产版本,产物输出到 .output/。除了全局选项,它有两个专属参数:
| 选项 | 作用 |
|---|---|
--analyze | 可视化分析扩展包体积,生成 stats.html |
--analyze-open | 分析完成后自动在浏览器打开 stats.html |
--analyze 是查「为什么包这么大」的利器,配 -e 只分析单个入口点更快。--filter-entrypoint 可多次使用,同时筛多个入口点。
Tip发布前先跑一次
npx wxt build --analyze,把体积最大的几个入口点揪出来,再决定要不要做代码分割。
wxt init:初始化新项目
npx wxt init [directory]
directory 缺省时在当前目录初始化。两个专属参数:
| 选项 | 作用 |
|---|---|
-t, --template <template> | 指定模板,如 vanilla / react / vue / svelte |
--pm <packageManager> | 指定包管理器,如 npm / pnpm / bun |
日常建项目推荐 npx wxt@latest init,交互式向导会依次问目录、模板、包管理器,比手敲参数省心(§03 有完整过程)。
wxt prepare:准备类型环境
npx wxt prepare [root]
生成 .wxt/ 下的类型声明、自动导入文件和 tsconfig。它没有专属参数,只有 -c/--config 加全局选项。
Note记得把它挂到
package.json的postinstall脚本上("postinstall": "wxt prepare"),这样每次pnpm install后类型自动就绪。这也是 §29 类型安全的根基。
wxt clean:清理生成物
npx wxt clean [root]
删除 .wxt/、.output/ 等生成目录和缓存。参数很少(具体以 npx wxt clean --help 为准)。别小看它,改配置不生效、类型死活不更新、产物诡异时,先 clean 再重跑,能治好一半的玄学问题。
wxt zip:构建并打包
npx wxt zip [root]
先执行生产构建,再把产物压成 zip。全局选项之外有一个专属参数:
| 选项 | 作用 |
|---|---|
--sources | 总是生成源码包(sources zip) |
Firefox 上架要求提供源码包(§38 有 sources zip 详解),--sources 就是命令行里强制生成它的开关。zip 的文件名模板、包含/排除清单都在 wxt.config.ts 的 zip 字段配置,命令行只负责「打不打、给谁打」。
Tip调试打包配置时,
npx wxt zip -b firefox会在终端打印源码包里的每个文件,一眼看出多打了什么、漏了什么。
wxt submit:商店一键提交
npx wxt submit [...args]
submit 本身是 publish-browser-extension 包的别名,负责把扩展提交到 Chrome、Edge、Firefox、Opera 多家商店(§39 详述)。它自带四个子命令:
| 子命令 | 作用 |
|---|---|
wxt submit init | 交互式配置各商店的密钥与选项 |
wxt submit set-deploy-percentage | 设置 Chrome 的分阶段发布百分比 |
wxt submit status | 查询当前发布与审核状态 |
wxt submit | 执行提交 |
提交参数按商店前缀分组:--chrome-*、--edge-*、--firefox-*、--opera-*。几个常用代表:
| 选项 | 作用 |
|---|---|
--dry-run | 只检查认证,不上传不提交 |
--chrome-extension-id | Chrome 商店中的扩展 ID |
--chrome-zip | 要上传的 zip 路径 |
--chrome-api-version | CWS API 版本 v1.1 或 v2 |
--firefox-zip / --firefox-sources-zip | Firefox 产物包与源码包路径 |
--firefox-channel | listed 或 unlisted 频道 |
wxt submit init:配置商店密钥
wxt submit init 是 submit 的交互式向导:依次选择商店、填入 API 密钥、生成配置文件。0.21 起 Chrome 推荐走 CWS v2 API(服务账号认证,密钥不过期),在向导里选 v2 即可。它的参数与 submit 完全一致,区别只在于「配置」和「执行」。
Note所有
submit相关命令的完整参数都以npx wxt submit --help实测为准——它对接的是独立包,参数随上游更新,手册页可能滞后。
用法速查总表
| 场景 | 命令 |
|---|---|
| 开发调试 | npx wxt dev |
| 生产构建 | npx wxt build |
| 分析包体积 | npx wxt build --analyze |
| 打商店包 | npx wxt zip |
| Firefox 源码包 | npx wxt zip -b firefox(Firefox 构建自动附带源码包) |
| 生成类型 | npx wxt prepare |
| 清理缓存 | npx wxt clean |
| 新建项目 | npx wxt init my-ext |
| 提交商店 | npx wxt submit |
| 查看任一命令帮助 | npx wxt <命令> --help |
七条命令,一张表,覆盖从建项目到上架的全流程。配合 §41 的全局选项,命令行这块就齐活了。
小结
build/init/prepare/clean/zip/submit各有专属参数,速查表见正文。prepare建议挂到postinstall,装完依赖类型自动就绪。zip与submit承接发布链路(§38、§39),Firefox 构建自动附带源码包。