ionic-framework - Ionic 4 PWA Angular 8 - 无法通过服务 worker 错误获取开始 URL

标签 ionic-framework ionic4 progressive-web-apps angular8 angular-service-worker

我正在尝试在我的 ionic 4 应用程序上设置 PWA,但是在 Chrome 中使用 Lighthouse 进行审核时出现如下错误。

enter image description here

我按照此链接 create-an-ionic-4-pwa-with-capacitor 上的教程进行操作

我克隆了他们的项目,它似乎在我的本地工作,但我似乎无法弄清楚与我的应用程序的区别。

我希望在底部看到添加到主屏幕面板,但如果我不修复此错误,它似乎不会显示。

我已经尝试过:

  • 在 https 服务器上部署
  • 强制 app.module 中的服务工作线程启用为 true ServiceWorkerModule.register('ngsw-worker.js', {enabled: true })

但是它并没有解决它。如果我真的找不到办法,我能做的最后一件事就是降级到 Angular 7.2。

我的 Angular 和 ionic 版本是最新的,如下所示:

  • “@angular/pwa”:“^0.801.1”,
  • "@angular/core": "~8.1.1",
  • “@ionic/angular”:“^4.6.2”,
  • “@angular/cli”:“~8.1.1”,

manifest.webmanifest内容:

"display": "standalone",
"scope": "/",
"start_url": "/",

[更新]

我尝试降级到 Angular 7.2,现在似乎可以正常工作。但是,如果有人可以回答如何使其在 Angular 8 中工作,那就太好了

最佳答案

看来问题不在于 Angular 8,因为我尝试从头开始创建一个新应用程序并且它有效。不过,我在我的案例中找到了解决方案。

在 app.module.ts 中注册 serviceworker 时,有一个名为 registrationStrategy 的属性。默认情况下,它的值为registerWhenStable。修复方法是将其更改为 registerImmediately

ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production, registrationStrategy: 'registerImmediately' })

以下是基于其源代码的可能值

enter image description here

所以我的应用程序在第一次加载时不够稳定,原因是服务工作人员没有正常运行,我需要调查。将其发布在这里希望对某人有所帮助。

关于ionic-framework - Ionic 4 PWA Angular 8 - 无法通过服务 worker 错误获取开始 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57036179/

相关文章:

android - 如何使用 ionic 3 @ionic-native/http 在 native HTTP 中传递 FormData?

angular - 我的 ionic 内容与 Ionic 4 中的标题重叠

Angular 和 Cloud Firestore Observable 未完成

cordova - 具有电容器和 Cordova 的 Ionic 应用程序

javascript - PWA beforeinstallprompt Uncaught (in promise) DOMException

dart - 使用 dart 或/和 AngularDart 实现高质量且完整的 PWA(渐进式 Web 应用程序)

angularjs - Angular 翻译 : sanitize strategies

cordova - 在 Intellij 中为 Cordova App 调试 Typescript

javascript - Ionic 4,试图用 col-6 显示每行 2 个,但每行仍然放置太多

javascript - 从缓存 api 中检索到的 JavaScript 文件未执行