SuperAPI AI 工具集

progressive-web-app

通用与其它

查看项目

更新于 10-16 01:49

技能介绍

用途:帮助把 Web 应用改造成可离线运行、可安装到主屏幕的渐进式 Web 应用(PWA)。当用户提到 PWA、Service Worker、Web App Manifest、Workbox、后台同步或推送通知,或询问“网站能否像应用一样安装”“如何让站点离线可用”时适用。

主要能力:围绕 PWA 三大支柱展开——HTTPS(生产环境必需,localhost 开发例外)、Web App Manifest(manifest.json,定义安装外观)、Service Worker(sw.js,拦截请求、管理缓存、支持离线)。提供交付物清单:index.html、manifest.json、sw.js、app.js、offline.html(离线导航回退页,缺失会导致安装失败)。

使用方式:在 head 中通过 link rel="manifest" 关联清单;在 app.js 中注册 Service Worker 并处理 beforeinstallprompt 安装提示;在 sw.js 中实现 install、activate、fetch 处理器,按资源类型选择缓存策略——静态资源用 Cache-First,HTML 页面用 Network-First,API 数据用 Stale-While-Revalidate。部署时递增 CACHE_VERSION 以清理旧缓存。可选使用 Workbox 处理边界情况、缓存过期与版本管理。

适用场景:需要离线或弱网可用的 Web 应用、移动优先且希望用户安装到主屏幕的项目、需要改善性能与韧性的站点。

限制:Service Worker 仅在 https:// 源注册(localhost 例外);iOS/Safari 不支持 beforeinstallprompt,需用户通过分享菜单手动“添加到主屏幕”,且缓存可能因不活跃约 7 天被清除;跨域请求返回不透明响应,缓存需谨慎;输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。