angular - 错误地添加了服务人员。删除了它,但如何从现有的计算机上取下它?
问题描述
在开始一个 Angular (6) 项目时,我使用了一个有服务工作者的模板。几个月后,我遇到了一个问题,即解决方案是删除服务人员(通过ServiceWorkerModule.register
从我的 app.module 导入中删除)。但是,在该版本之前打开该应用程序的每台计算机仍然安装并运行服务工作者(仍然导致原始问题)。我知道我可以通过开发工具在一台计算机上手动删除一个,但我怎样才能在代码中获得解决方案?
我尝试过的一些事情:
- https://angular.io/guide/service-worker-devops#fail-safe这表示您可以删除您的
ngsw.json
文件,服务工作者将“自毁”,但我们正在运行的代码的根文件夹没有ngsw.json
,只有ngsw-config.json
. 还说您可以重命名safety-worker.js
为旧服务人员的名称,但我部署的代码没有,safety-worker.js
也不知道我的服务人员的名称。
解决方案
您可以使用 javascript 来“取消注册”服务人员。这是一个例子:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(function (registrations) {
//returns installed service workers
if (registrations.length) {
for(let registration of registrations) {
registration.unregister();
}
}
});
}
推荐阅读
- powershell - 从 Teradata LDAP 中提取 1 列并存储在数组/表中以在脚本中使用
- python - QTableWidget 中的可折叠行
- c# - 如何在 .Net core 2.2 中为自定义属性配置 AutoMapper?
- r - 非标准评估设置名称 R
- python - for循环枚举函数返回意外结果
- powershell - PowerShell 从文本文件中读取变量
- shopify - Shopify:删除空格循环
- django - 在 Wagtail 管理员中,是否有与 Django 管理员的 save_model 方法等效的方法?
- sql - Codeigniter 迁移:有没有办法自动修改表?
- bitcoin - 如何查找 LN 中的所有节点和连接?