Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 7 PWA-脱机模式下缺少字体超棒图标_Angular_Font Awesome_Progressive Web Apps_Offline Caching_Angular Service Worker - Fatal编程技术网

Angular 7 PWA-脱机模式下缺少字体超棒图标

Angular 7 PWA-脱机模式下缺少字体超棒图标,angular,font-awesome,progressive-web-apps,offline-caching,angular-service-worker,Angular,Font Awesome,Progressive Web Apps,Offline Caching,Angular Service Worker,问题是在脱机模式下,字体图标不会显示。 在脱机模式下,我可以看到“网络”选项卡中状态为“失败”的文件 在dist文件夹中生成& 在应用程序选项卡的缓存中-例如/fa-solid-900.fb493903265cad425ccd.woff2 非常感谢您的帮助。详情如下-提前感谢 阿米特·科利 程序包文件中的相关条目为- "@angular/animations": "7.1.3", "@angular/common": "7.1.3", "@angular/compiler": "7.1.3",

问题是在脱机模式下,字体图标不会显示。 在脱机模式下,我可以看到“网络”选项卡中状态为“失败”的文件

  • 在dist文件夹中生成&
  • 在应用程序选项卡的缓存中-例如/fa-solid-900.fb493903265cad425ccd.woff2
  • 非常感谢您的帮助。详情如下-提前感谢

    阿米特·科利

    程序包文件中的相关条目为-

    "@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"
          ],
    

    在ngsw-config.json文件中,您必须在assetGroup内输入css文件的整个cdn url/目录路径


    所以它可以在第一次加载时缓存。

    对我来说,问题是FA查询中有版本号,因此它导致workbox不缓存它,因为它认为它是另一个资源

    因此,需要设置ignoreURLParametersMatching参数,文档中的更多信息:

    这是我的配置:

    "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/**"
        ]
      }