我做了“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(隐身模式)
当我打开面向开发人员的工具 (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/