如何解决Angular Service Worker 从不完整的 url
我正在尝试在我的应用中实施 Service Worker,以在新应用版本可用时提醒用户。一切似乎都很好,我已经使用 http-serve 在 localhost 中做了一些测试,一切正常。
在 prod 中部署构建时出现问题。所有源(html、js 和 css)都被正确下载,并且 ngsw.json
文件被定期获取,因为我实现了 checkForUpdate()
方法。但是,当我部署新版本的应用程序时,对 ngsw.json
中存在的 js 块的获取会在 404 错误中返回。
我确定了 404 错误的原因:
- 访问我网站的网址:
https://my-site.com/repo/#/angular-route-1
- 而
ngsw-worker.js
目标发起的请求是https://my-site.com/chunk-1.js
显然 service worker 没有考虑完整的 url 路径,缺少片段repo/
。 我的问题很简单,我如何以及在哪里添加此片段网址以避免此 404 错误?
我尝试更改 "start_url": "./repo/"
中的 "scope": "./repo/"
和 manifest.webmanifest
,但没有成功。
我也尝试过改变
ServiceWorkerModule.register('repo/ngsw-worker.js',{enabled: environment.production})
但在这种情况下,ngsw.json
文件的池化进入 404,因为它试图在 https://my-site.com/repo/repo/ngsw.json
处获取。两次/repo
...
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。