工具
发布于
PWA 项目里反复出现四类工具:Service Worker 库、在构建期产出 manifest 与 worker 的插件、面向各商店的打包器,以及审计器。本页记录每种工具做什么、要求什么,以及核查本页时读到的版本;这是一份编辑性精选,没有付费位。
本页没有哪项工具是发布 PWA 的必需品;手写的 manifest 加一个几十行的 Service Worker 就能满足 Chromium 的可安装条件。这些工具的作用是从构建产出这些文件、把结果装进商店包,以及检查产出。
Service Worker 库与构建插件
Section titled “Service Worker 库与构建插件”Workbox 是 Google 为 Service Worker 路由与缓存提供的一组模块,以独立包发布(其中有 workbox-window、workbox-streams、workbox-range-request)。核查本页时的版本为 7.4.1,发布于 2026-05-05;7.0.0 把最低要求提高到 Node 16,7.3 与 7.4 两个版本自述为依赖更新。Vite PWA(vite-plugin-pwa,1.2.0,MIT)为 Vite 项目封装了 Workbox:自动注入 Web App Manifest、生成 Service Worker、在有新内容时重新加载,并提供 SvelteKit、VitePress、Astro、Nuxt 3、Remix 与 îles 的集成。生成式 worker 的代价是预缓存列表随每个带哈希的资源增长,大型构建会预缓存用户可能从不打开的文件。
面向 Google Play 的打包
Section titled “面向 Google Play 的打包”Bubblewrap 是生成 Trusted Web Activity 项目的命令行工具;PWABuilder 的 Android 输出「powered by Bubblewrap and uses the same underlying core」。它要求 Node.js 14.15.0 及以上与 JDK 17,首次运行时提议下载 JDK 与 Android 命令行工具。关键命令:init 读取 Web manifest 并写出 twa-manifest.json;build 产出 app-release-signed.apk 与 app-release-bundle.aab;update 在编辑 manifest 后重新生成 Android 项目;validate 按 TWA 质量标准检查 PWA;fingerprint generateAssetLinks 写出要托管的 assetlinks.json;doctor 确认 JDK 与 SDK 的路径和版本。代价是一把要为上架条目终身保管的签名密钥,因为 asset links 的指纹由它派生。
面向 Microsoft Store 的打包
Section titled “面向 Microsoft Store 的打包”PWABuilder 是 Microsoft 文档记载的路径。流程及其英文界面标签:在 Ship your PWA to app stores 下输入 URL 并点击 Start;处理报告卡 Action Items 里的问题;点击 Package For Stores;在 Windows 下点击 Generate Package;在 Windows Package Options 中粘贴从 Partner Center 复制的 Package ID、Publisher display name 与 Publisher ID;点击 Download Package。下载得到一个 .zip,内含 .msixbundle 与 .classic.appxbundle,两者都在 Partner Center 提交流程的 Packages 步骤上传。manifest 变更需要重走流程;代码变更不需要。
Lighthouse 可在 DevTools 的 Lighthouse 面板运行,也可在 npm install -g lighthouse 后用命令行运行、作为 Node 模块接入 CI,或通过 PageSpeed Insights 运行,报告 Performance、Accessibility、Best Practices 与 SEO。它不再审计可安装性:12.0.0 版(2024-04-22)写明「As per Chrome’s updated Installability Criteria, Lighthouse has removed the PWA category」,并把用户指向 DevTools 的 PWA 文档,所以 manifest 与 Service Worker 的检查落在 DevTools > Application。Bubblewrap 的 validate 命令是剩下的那个自动核对 PWA 是否满足 Trusted Web Activity 标准的检查。
| 工具 | 角色 | 读取到的版本 | 要求 |
|---|---|---|---|
| Workbox | Service Worker 路由与缓存 | 7.4.1(2026-05-05) | 构建工具需 Node 16 及以上 |
| Vite PWA | 构建期生成 manifest 与 worker | 1.2.0 | Vite |
| Bubblewrap | TWA 项目生成与签名 | CLI README,2026-10 | Node.js 14.15.0 及以上、JDK 17 |
| PWABuilder | 从 URL 生成商店包 | 网页应用,2026-10 | Partner Center 身份信息 |
| Lighthouse | 性能、可访问性、最佳实践、SEO 审计 | 12.0.0 移除 PWA 类别 | Chrome,或命令行所需的 Node |
- Workbox(developer.chrome.com)
- Bubblewrap CLI(github.com)
- Lighthouse v12.0.0 release notes(github.com)
- 分发
- 商店政策
- Service Worker 参考
- 缓存策略
← 返回生态总览。