所以我在他们的文档中遵循了Angular本教程中的所有步骤:
https://angular.io/guide/service-worker-getting-started#getting-started-with-service-workers
当我第一次构建Angular项目时,在隐身的Chrome浏览器中运行它,我的日志说用ngsw-worker.js
成功检索了http-server
(GET)。
当我在开发工具中删除服务工作者时,打开一个新的隐身标签(或关闭浏览器并打开一个新的隐身窗口),没有从ngsw-worker.js
检索到的http-server
,因此,浏览器中没有服务工作者。
为什么是这样?这一直困扰着我多年。检索新服务工作者的唯一方法是使用ng build --prod
重建项目。即便如此,它也可能非常不一致。
附加信息:
http-server -p 8080 -c-1 dist/<project-name>
运行我的本地服务器某些版本的Angular 7中的服务工作者已损坏/不一致。
See the author's post in this GitHub issue for a temporary workaround