Angular 7 - 服务 worker 未注册

标签 angular angular-cli service-worker progressive-web-apps angular7

我做了“https://angular.io/guide/service-worker-getting-started”中所写的一切来制作我的应用程序 PWA。

完全使用了这个命令:

ng add @angular/pwa

npm install http-server -g

ng build --prod

http-server -p 8080 -c-1 dist

然后我在 Chrome 上打开了这个 url(隐身模式)

http://127.0.0.1:8080

当我打开面向开发人员的工具 (f12) > 应用程序 > Service Workers 时,没有可用的 Service Worker,当我在那里设置为离线时,网站无法运行。

有关我的 Angular 应用程序的其他信息:

package.json:(最重要的几个)

"@angular/core": "^7.0.2",
"@angular/pwa": "^0.10.6",
"@angular/service-worker": "^7.0.4",
"@angular-devkit/build-angular": "^0.10.6",
"@angular/cli": "^7.0.6",

最佳答案

@angular/cli@7.1.4 的 service worker 设置似乎被破坏了:

作为临时解决方案,您可以通过修改文件 src/main.ts 自己手动注册它(一旦修复,您可以删除手动服务 worker 注册。):

.....

platformBrowserDynamic().bootstrapModule(AppModule).then(() => {
  if ('serviceWorker' in navigator && environment.production) {
    navigator.serviceWorker.register('/ngsw-worker.js');
  }
}).catch(err => console.log(err));

PS:创建的 Github 问题:https://github.com/angular/angular-cli/issues/13351

PS:Github 第 2 期创建:https://github.com/angular/angular-cli/issues/15025

关于Angular 7 - 服务 worker 未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53329924/

相关文章:

apache - Angular CLI 路由 - 不适用于(Apache-)服务器

javascript - 服务 worker 缓存失败

javascript - 我如何使用 Service Worker 向我的所有 API 请求添加 Authorization header ,这是否有意义?

javascript - pwa - 提示添加到主屏幕不显示

python - 从 Angular 2 前端调用后端 python 脚本

angular - ngrx store.dispatch 可以被节流/去抖动或者 ngrx Action 可以被节流/去抖动吗?

Angular2 对象无法设置未定义的属性

angular - ngIf 放在哪里?

angular - 您如何重新创建 Angular CLI 创建的自动生成的自签名证书?

angular - 通过哪个 CLI 版本安装 Angular 5