错误地添加了 service worker。删除它但如何将其从现有计算机上删除?
Mistakenly added service worker. Removed it but how to get it off existing computers?
在开始 Angular (6) 项目时,我使用了一个包含服务工作者的模板。几个月后,我遇到了一个问题,解决方案是删除 service worker(通过从我的 app.module 导入中删除 ServiceWorkerModule.register
)。但是,在该版本之前打开该应用程序的每台计算机仍然安装了 service worker 和 运行(仍然导致原始问题)。我知道我可以通过开发工具在一台计算机上手动删除一个,但我怎样才能在代码中获得解决方案?
我尝试过的一些事情:
- https://angular.io/guide/service-worker-devops#fail-safe 这表示您可以删除
ngsw.json
文件,服务人员将 "self destruct" 但是我们 运行 代码的根文件夹没有 ngsw.json
,只有一个ngsw-config.json
。还说您可以将 safety-worker.js
重命名为您的旧服务人员的名称,但我部署的代码没有 safety-worker.js
,我也不知道我的服务人员的名称。
您可以 'unregister' 服务工作者使用 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();
}
}
});
}
在开始 Angular (6) 项目时,我使用了一个包含服务工作者的模板。几个月后,我遇到了一个问题,解决方案是删除 service worker(通过从我的 app.module 导入中删除 ServiceWorkerModule.register
)。但是,在该版本之前打开该应用程序的每台计算机仍然安装了 service worker 和 运行(仍然导致原始问题)。我知道我可以通过开发工具在一台计算机上手动删除一个,但我怎样才能在代码中获得解决方案?
我尝试过的一些事情:
- https://angular.io/guide/service-worker-devops#fail-safe 这表示您可以删除
ngsw.json
文件,服务人员将 "self destruct" 但是我们 运行 代码的根文件夹没有ngsw.json
,只有一个ngsw-config.json
。还说您可以将safety-worker.js
重命名为您的旧服务人员的名称,但我部署的代码没有safety-worker.js
,我也不知道我的服务人员的名称。
您可以 'unregister' 服务工作者使用 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();
}
}
});
}