koot
koot copied to clipboard
service-worker 和 PWA 新设想
service-worker
API 可考虑使用 Workbox 的高级封装 : https://developers.google.com/web/tools/workbox/
- 重做
pwa
配置 - 重做
service-worker
的生成机制- 使用 webpack 插件生成 (优势: 其他插件可以处理生成的文件)
仅针对 service-worker
进行配置
// /koot.config.js
module.exports = {
// ...
// 不自动生成 `service-worker.js` 文件
serviceWorker: false,
// 详细配置
serviceWorker: {
// 自动注册
autoRegister: true,
},
// ...
}
(每种语言)生成 2 个 service-worker
- 默认缓存列表为空,供首次访问的用户使用
- 默认缓存列表完整,供再次访问或首次访问时深度互动的用户使用
https://github.com/cmux/koot/issues/149
2 个配置项
-
pwa
主要包含 App 名、描述、PWA 相关选项和图标- 图标分简易和详细配置
- 简易:只提供 1 个图标路径,其他所有尺寸的图标自动生成 (可考虑使用 sharp)
- 详细:自行配制的对象
- 图标分简易和详细配置
-
service-worker
SW 相关配置-
type
缓存策略类型 -
ignore
忽略的请求的列表
-
图标考虑 maskable
设置