Javascript 角度v8抛出错误未检测到匹配的服务人员
我总是得到如下错误时,使用服务工人与角度v8,这不是发生在v7 下面是我的配置 package.jsonJavascript 角度v8抛出错误未检测到匹配的服务人员,javascript,angular,service-worker,progressive-web-apps,angular8,Javascript,Angular,Service Worker,Progressive Web Apps,Angular8,我总是得到如下错误时,使用服务工人与角度v8,这不是发生在v7 下面是我的配置 package.json "@angular/animations": "~8.2.14", "@angular/common": "~8.2.14", "@angular/compiler": "~8.2.14", "@angular/core"
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/pwa": "^0.900.2",
"@angular/router": "~8.2.14",
"@angular/service-worker": "~8.2.14",
angular.json
"assets": [
"src/assets/favicon.ico",
"src/assets",
"src/manifest.json"
],
"configurations": {
"production": {
// other is ommitted
"serviceWorker": true,
"ngswConfigPath": "ngsw-config.json"
}
}
ngsw-config.json
{
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/assets/favicon.ico",
"/manifest.json",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/images/**"
]
}
}
]
}
app.module.ts
imports: [
BrowserModule,
ServiceWorkerModule.register("ngsw-worker.js", {
enabled: environment.production
})
],
index.html
<link rel="manifest" href="manifest.json">
<meta name="theme-color" content="#1976d2">
请帮我指出我遗漏了什么
非常感谢。我想你可能错过了 “/index.html” “/assets/**”,或者您的资产可能位于单独的图像文件夹中(在看到文件夹结构之前,我无法确定) “/*(eot | svg | cur | jpg | png | webp | gif | otf | ttf | woff | woff2 | ani)” 在
除此之外,似乎没有什么不同。尽管如此,我已经尝试了与您相同的配置,但它工作正常 我想你可能错过了 “/index.html” “/assets/**”,或者您的资产可能位于单独的图像文件夹中(在看到文件夹结构之前,我无法确定) “/*(eot | svg | cur | jpg | png | webp | gif | otf | ttf | woff | woff2 | ani)” 在 除此之外,似乎没有什么不同。尽管如此,我已经尝试了与您相同的配置,但它工作正常 您需要使用
"ngswConfigPath": "src/ngsw-config.json",
而不是
"ngswConfigPath": "ngsw-config.json",
你需要使用
"ngswConfigPath": "src/ngsw-config.json",
而不是
"ngswConfigPath": "ngsw-config.json",
我发现了问题。网络可能不稳定,因此服务人员无法注册。因此,要修复它,只需添加此配置
ServiceWorkerModule.register("ngsw-worker.js", {
enabled: environment.production,
registrationStrategy: "registerImmediately"
})
我发现了问题。网络可能不稳定,因此服务人员无法注册。因此,要修复它,只需添加此配置
ServiceWorkerModule.register("ngsw-worker.js", {
enabled: environment.production,
registrationStrategy: "registerImmediately"
})
在
index.html
中链接manifest.webmanifest
,但在ngsw config
中引用manifest.json
。我不知道这是否有助于解决某些问题。我只是指出而已。啊,对不起,只是打错了。我用的是json文件你解决过这个问题吗?我对Angular 9.0也有同样的问题。0@Kosso遗憾的是,我们仍然无法找到解决方案:(@TonyNgo好的。自从我问起,我发现我的站点上的一个要求的时间间隔似乎会影响服务工作者的注册。因此,为了解决这个问题,我需要立即将注册策略设置为注册如下:服务工作者模块.register('ngsw-worker.js'),{已启用:environment.production,registrationStrategy:'registerImmediately'})
默认情况下,服务人员将等待站点“稳定”。在index.html
中链接manifest.webmanifest
,但在ngsw config
中引用manifest.json
。我不知道它是否有助于修复某些问题。我只是指出了它。啊,对不起,只是输入错误。我正在使用json文件你解决过这个问题吗?我在Angular 9.0上遇到了完全相同的问题。0@Kosso遗憾的是,我们仍然无法找到解决方案:(@TonyNgo好的。自从我问起,我发现我的站点上的一个要求的时间间隔似乎会影响服务工作者的注册。因此,为了解决这个问题,我需要立即将注册策略设置为注册如下:服务工作者模块.register('ngsw-worker.js'),{enabled:environment.production,registrationStrategy:'registerImmediately'})
默认情况下,服务人员将等待站点“稳定”。ngsw-config.json与angular.json文件处于同一级别,因此“ngswConfigPath”:“ngsw config.json”,
正确,您为什么将此文件移动到angular.json的同一级别?创建dist文件夹后,您的ngsw-config.json是否在dist中?我看不出有任何错误,但您使用的是@angular/pwa
软件包版本^0.900.2
和angular版本8.2.14
,是否可以尝试从^0.900升级。2
到任何版本8?我当前使用的是版本^0.801.0
。可能是从8更改为9导致了您的问题。ngsw-config.json与angular.json文件处于同一级别,因此“ngswConfigPath”:“ngsw config.json”,
正确,您为什么将此文件移动到angular.json的同一级别?创建dist文件夹后,您的ngsw-config.json是否在dist中?我看不出有任何错误,但您使用的是@angular/pwa
软件包版本^0.900.2
和angular版本8.2.14
,是否可以尝试从^0.900升级。2
到任何版本8?我当前使用的是版本^0.801.0
。可能是从8更改为9导致了您的问题。有一个类似的问题(在Chrome上看到),角度为10 PWA。这是我缺少的配置。谢谢!有一个类似的问题(在Chrome上看到)角度为10pWA。这是我丢失的配置。谢谢!