把今天这个问题放进一个正在开发的工程里会更容易判断。一个 Angular 项目执行ng add @angular/pwa后,开发团队通常期待几件事同时发生,应用能够安装到桌面或主屏幕,静态资源可以被 Service Worker 缓存,断网后仍能打开应用外壳,新版本能够在后台下载,必要时还能接收 Push Notification。回到 SAP UI5,答案不是简单的有或没有,而是分成三个层次。纯浏览器标准层面完全可以实现,UI5 Community 已经提供了一个很接近的一键构建任务,SAP 官方产品层面却没有一个与@angular/pwa完全同级、完全同职责、执行一次命令便把整套能力接入项目的 SAPUI5 包。若需求进一步进入可编辑的离线 OData、冲突检测、上传队列和设备端加密,技术重心就不再是普通 PWA,而会转向 SAP Mobile Services 的 Offline OData 或 MDK 一类受管移动方案。先把@angular/pwa做过的工作看清楚,后面的映射才不会混乱。Angular 官方文档列出的动作包括安装@angular/service-worker,开启构建支持,在根级 Provider 中注册 Service Worker,修改index.html以链接manifest.webmanifest并加入主题色,安装应用图标,生成ngsw-config.json。这个配置文件在ng build时被处理,用来描述哪些构建产物和数据请求需要缓存,以及采用怎样的更新策略。默认生成的缓存范围覆盖