服务工作者使用URL中的版本参数角度加载资产

时间:2018-05-07 07:31:05

标签: angular service-worker font-awesome-5 angular-service-worker

我有一个角度为6的应用程序,其中包含:

"@angular/pwa": "^0.6.0",
"@angular/service-worker": "^6",

我正在获得一个很好的服务工作者,但是在离线情况下,服务工作者不会处理带有URL GET参数的资源:

GET 504 .../fontawesome-webfont.af7ae505a9eed503f8b8.woff2?v=4.7.0 
GET 504  .../fontawesome-webfont.fee66e712a8a08eef580.woff?v=4.7.0 
GET 504  .../fontawesome-webfont.b06871f281fee6b241d6.ttf?v=4.7.0

路径正确!

这些文件位于build命令生成的ngsw.json中:

"/bordbuch_v2/frontend/fontawesome-webfont.674f50d287a8c48dc19b.eot",
"/bordbuch_v2/frontend/fontawesome-webfont.912ec66d7572ff821749.svg",
"/bordbuch_v2/frontend/fontawesome-webfont.af7ae505a9eed503f8b8.woff2",
"/bordbuch_v2/frontend/fontawesome-webfont.b06871f281fee6b241d6.ttf",
"/bordbuch_v2/frontend/fontawesome-webfont.fee66e712a8a08eef580.woff",

但我认为GET参数是问题所在。有没有人知道如何阻止字体真棒将版本参数放在URL

OR

如何让(有角度的)服务工作者响应具有GET参数的文件?

1 个答案:

答案 0 :(得分:0)

解决方案是将此正则表达式的所有文件添加到ngsw-config.json并取消注册旧服务工作者并清除所有缓存:

{
  "index": "/index.html",
  "assetGroups": [{
    "name": "app",
    "installMode": "prefetch",
    "resources": {
      "files": [
        "/fontawesome-webfont*",
      ]
    }