Angular 7 PWA - Font Awesome значки отсутствуют в автономном режиме - PullRequest
0 голосов
/ 13 декабря 2018

Проблема в том, что в автономном режиме шрифты не отображаются потрясающие значки.Находясь в автономном режиме, я вижу, что файлы, которые имеют статус сбой на вкладке Сеть,

  1. Генерируются в папке dist &
  2. В кеше на вкладке Приложения -Например, /fa-solid-900.fb493903265cad425ccd.woff2

Большое спасибо за помощь.Подробности ниже - заранее спасибо.

Amit Kohli

Соответствующие записи в файле пакета -

"@angular/animations": "7.1.3",
"@angular/common": "7.1.3",
"@angular/compiler": "7.1.3",
"@angular/core": "7.1.3",
"@angular/forms": "7.1.3",
"@angular/http": "7.1.3",
"@angular/platform-browser": "7.1.3",
"@angular/platform-browser-dynamic": "7.1.3",
"@angular/pwa": "^0.10.6",
"@angular/router": "7.1.3",
"@angular/service-worker": "7.1.3",
"@fortawesome/fontawesome-free": "^5.5.0",

В файле ngsw-config.json - ...

"/favicon.ico",
      "/index.html",
      "/*.css",
      "/*.js",
      "/*.woff",
      "/*.woff2",
      "/*.ttf",
      "/fontawesome-webfont*"
    ]

Manifest.json -

  "short_name": "TALSWeb",
  "theme_color": "#00A160",
  "background_color": "#fafafa",
  "display": "standalone",
  "scope": "/",
  "start_url": "/",

Сгенерированный файл ngsw.json содержит выдержку -

"assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "updateMode": "prefetch",
      "urls": [
        "/fa-brands-400.659c4d58b00226541ef9.woff2",
        "/fa-brands-400.8b7a9afd7b95f62e6ee8.woff",
        "/fa-brands-400.b69de69a4ff8ca0abe96.ttf",
        "/fa-regular-400.0b5e3a5451fc62d9023c.woff",
        "/fa-regular-400.b48c48ea8457846a5695.ttf",
        "/fa-regular-400.bdadb6ce95c5a2e7b673.woff2",
        "/fa-solid-900.48f54f63d7711d0912a9.ttf",
        "/fa-solid-900.bcb927a742a8370b7664.woff",
        "/fa-solid-900.fb493903265cad425ccd.woff2",
        "/favicon.ico",
        "/index.html",
        "/main.cbcf9854dbe01b31ca0f.js",
        "/polyfills.fab331e3b568bcb25c34.js",
        "/runtime.a66f828dca56eeb90e02.js",
        "/scripts.8d6556ad089996471ba5.js",
        "/styles.e844927534017e9a8be0.css"
      ],

в автономном режиме отсутствующие файлы находятся в кеше. PNG

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

Для меня проблема заключалась в том, что в запросах FA есть номера версий, и, следовательно, это приводило к тому, что рабочий ящик не кэшировал его, поскольку считал его другим ресурсом.

Поэтому необходимо установить параметр ignoreURLParametersMatching, болееинформация в документах: https://developers.google.com/web/tools/workbox/modules/workbox-precaching#ignore_url_parameters

0 голосов
/ 23 июля 2019

Вот мой конфиг:

"name": "assets",
  "installMode": "lazy",
  "updateMode": "prefetch",
  "resources": {
    "files": [
      "/assets/**",
      "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)",
      "/*-es5*.js"
    ],
    "urls": [
      "https://fonts.googleapis.com/**"
    ]
  }
0 голосов
/ 18 декабря 2018

В файле ngsw-config.json вы должны ввести полный путь к каталогу cdn / каталог fontawesome css-файла внутри assetGroup.

, чтобы его можно было кэшировать при первой загрузке.

...