Quasar CLI with Vite - @quasar/app-vite
我们将利用 Quasar CLI 开发和构建 PWA。构建 SPA、Mobile App、Electron App、PWA 或 SSR 之间的区别仅仅是由 quasar dev 和 quasar build 命令中的 mode 参数决定的。
为了构建 PWA,我们首先需要将 PWA 模式添加到 Quasar 项目中:
quasar mode add pwacontent_paste
如果你想直接开始开发,也可以跳过 “quasar mode” 命令,直接使用:
quasar dev -m pwacontent_paste
这样,如果项目缺少 PWA 模式,则会自动添加后启动。
项目中会新建一个目录,详情请参考 配置 PWA 页面:
src-pwa/
register-sw.js
# (或 .ts) 管理 Service Worker 的 UI 代码(主线程)
manifest.json
# PWA manifest 文件
package.json
# 用于在 /src-pwa 下直接安装 PWA 专属依赖
sw/
# Service Worker 上下文(WebWorker)
custom-sw.js
# (或 .ts) 可选的自定义 Service Worker 文件(仅 InjectManifest 模式)
tsconfig.json
# 仅 TypeScript - WebWorker lib,作用域限定在 /src-pwa/sw/
以上所有文件将在后续页面中详细介绍,主要概述如下:
register-sw.js文件是 UI 代码的一部分,用于与 Service Worker 通信。manifest.json是 PWA 的 manifest 配置文件。- 当使用 InjectManifest 模式时,你可以编写自定义 Service Worker(
sw/custom-sw.js)。它位于/src-pwa/sw/中,代码运行在 WebWorker 上下文中(无 DOM),与应用的其余部分分开编译。
如果你想使用不同的文件名,可以编辑 /quasar.config 文件:
sourceFiles: {
pwaRegisterServiceWorker: 'src-pwa/register-sw',
pwaServiceWorker: 'src-pwa/sw/custom-sw',
pwaManifestFile: 'src-pwa/manifest.json',
}content_paste