Angular 5 app不会注册服务工作者

Ale*_*RKO 5 service-worker angular-cli angular

我有一个我已经建立的应用程序,SW工作正常.我继续开发而没有注意SW ......现在,在为应用程序充电时,没有更多的SW下载(好像应用程序没有注册SW).

我非常沮丧,因为我不知道如何调试/发现该问题的线索.如何跟踪SW registring进程?

更多背景:

  • 我有:
    • "serviceWorker": true 在.angular-cli.json
    • ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }) 在我的app.module.ts中
    • 在prod mod中构建我的应用程序并使用http-server(ngsw.json和ngsw-worker.js都可访问)
    • 在开发模式下清理缓存(常规缓存和应用程序/清除存储)
  • 我试过了:
    • 更改app.module导入顺序(我ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production })在BrowserModule和last之后第一次尝试,第二次尝试)
    • 验证那environment.productiontrue(它)
    • 从头开始生成另一个空的应用程序执行相同的过程(在这种情况下,SW工作......)

我可以检查别的吗?我忘记了什么吗?

如果不是我最后的两个解决方案是:

  • 在空应用中按模块移动模块以解决问题而不理解错误
  • 照明火+萨满歌......

use*_*017 6

看来问题是由angularFire2. 我遇到了同样的问题,但能够通过将以下代码放入我的main.ts文件中来解决它。

if ('serviceWorker' in navigator && environment.production) {
  navigator.serviceWorker.register('/ngsw-worker.js');
}
Run Code Online (Sandbox Code Playgroud)