Angular:服务工作者配置

2024-01-16

我正在尝试将 PWA 功能添加到在 Angular 8 上运行的网站。 我遵循了很多官方和非官方的教程,但我不明白我做错了什么。

ngsw-config.json 是这样的:

{
  "$schema": "./node_modules/@angular/service-worker/config/schema.json",
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/manifest.webmanifest",
          "/*.css",
          "/*.js",
          "/*.min.js"
        ],
        "urls": [
          "https://fonts.googleapis.com/**"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

我可以在 Chrome 开发控制台的“应用程序”选项卡中看到服务工作线程已注册并正在运行。

但我有两个主要问题。

  1. When I pass my browser in offline mode and reload the page, I've got a chrome error message : enter image description here

索引页面似乎无法提供服务,服务工作人员仍在注册并运行。

我可以在在线模式下看到我从 Service Worker 获取索引页,那么为什么它在离线模式下不起作用?

  1. 在在线模式下,我可以从网络选项卡中看到每个请求都被缓存,甚至是来自 api 的请求。但我没有在 ngsw-config.json 中配置 dataGroups 那么为什么会发生这种情况? 对于 assetGroups 的 url 数组中未指定的外部 js 文件也是如此。

该网站可以在这里进行测试:https://dev.ecni.fr/ https://dev.ecni.fr/

Thanks !

编辑 : 在两台运行 Windows 的计算机上尝试使用不同的最新浏览器时出现同样的问题。 不过,在 mac 上用 chrome 工作得很好。 Windows 计算机发生了什么事?


我可以在 Chrome 离线模式下查看您的网站,看起来不错。我也和我的比较ngsw-config.json file:

{
  "index": "/index.html",
  "assetGroups": [
  {
    "name": "app",
    "installMode": "prefetch",
    "updateMode": "prefetch",
    "resources": {
      "files": [
        "/index.html",
        "/manifest.json",
        "/browserconfig.xml",
        "/assets/images/favicon/**",
        "/*.css",
        "/*.js"
      ]
    }
  }, {
    "name": "assets",
    "installMode": "lazy",
    "updateMode": "prefetch",
    "resources": {
      "files": [
        "/assets/**",
        "/*.woff",
        "/*.woff2",
        "/*.svg",
        "/*.ttf",
        "/*.eot"
      ]
    }
  }]
}

除了manifest.json。你有新的格式吗?我也来分享一下我的manifest.json文件要完整,它可能有用:

{
    "name": "ClubUp! Volley Network",
    "short_name": "ClubUp!",
    "theme_color": "#00aeef",
    "background_color": "#ffffff",
    "display": "standalone",
    "scope": "/",
    "start_url": "/search?utm_source=homescreen",
    "dir": "ltr",
    "lang": "it",
    "orientation": "portrait",
    "description": "Cerchi un giocatore o una squadra? Fai un salto in ClubUp! per trovare il tuo team ideale. Provalo, è semplice da usare.",
    "related_applications": [],
    "prefer_related_applications": false,
    "icons": [
        {
            "src": "assets/images/pwa/icon-72x72.png",
            "sizes": "72x72",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-96x96.png",
            "sizes": "96x96",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-128x128.png",
            "sizes": "128x128",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-144x144.png",
            "sizes": "144x144",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-152x152.png",
            "sizes": "152x152",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-192x192.png",
            "sizes": "192x192",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-384x384.png",
            "sizes": "384x384",
            "type": "image/png"
        },
        {
            "src": "assets/images/pwa/icon-512x512.png",
            "sizes": "512x512",
            "type": "image/png"
        }
    ]
  }

如果您想比较网络选项卡中发生的情况,相关网站是这样的:https://clubup.it/ https://clubup.it/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular:服务工作者配置 的相关文章

随机推荐

  • 在android程序中下载gmail附件

    我尝试了很多搜索 最后在这里问 我需要写一段代码下载附件形成我的GMail 我怎样才能做到这一点 到目前为止 我可以阅读 发送电子邮件 但仍在弄清楚如何下载附件 任何帮助将不胜感激 附件不单独下载 它们是 MIME 多部分文档的一部分 您可
  • 使用 HTTParty 捕获特定请求

    我想在不使用代理的情况下捕获给定操作的完整请求 raw request 通过网络传输的内容 我知道类上的 debug output 方法 这可能是解决方案的一部分 但不清楚如何根据每个请求进行设置 考虑以下 response HTTPart
  • 黑莓中的正则表达式?

    如何在 Blackberry 中使用正则表达式验证电子邮件 Blackberry API 中没有 Pattern 类 有没有其他方法可以验证 谢谢 当前的 Blackberry API 中没有正则表达式 尝试这个 http code goo
  • 具有可变参数的回调函数 tkinter 按钮[重复]

    这个问题在这里已经有答案了 from tkinter import F Tk i 1 while i lt 10 newButton Button F text Show Number command lambda showNumber i
  • Python:Ramer-Douglas-Peucker(RDP)算法,用点数代替 epsilon

    我想修改以下 python 脚本RDP算法 https en wikipedia org wiki Ramer E2 80 93Douglas E2 80 93Peucker algorithm目的是不使用 epsilon 而是选择我想在决
  • 方案没有文件系统:cos

    我正在尝试从 IBM Data Science Experience 连接到 IBM Cloud Object Storage access key XXX secret key XXX bucket mybucket host lon i
  • 如何在 Azure 逻辑应用程序中使用 OAuth 2.0 身份验证?

    我正在尝试创建一个带有 FTP 触发器的简单逻辑应用程序 然后将任何上传的文件内容通过管道传输到我在 Azure 中托管并使用 OAuth 2 0 客户端凭据授予流进行保护的 Web API 如何在逻辑应用中配置 OAuth 2 0 身份验
  • 在 NestJS 微服务中公开正常的 http 端点

    我用 NestJs 编写了这个微服务 async function bootstrap const port parseInt process env PORT 5000 10 const app await NestFactory cre
  • 为什么一种形式的最后一个元素与第二种形式的第一个元素之间存在间隙?

    我有这个 html 文件 margin 0 padding 0 box sizing border box body margin 0 background ff5 form display inline nick msg backgrou
  • 多线程:线程多于内核有什么意义?

    我认为多核计算机的要点在于它可以同时运行多个线程 那么 如果你有一台四核机器 那么同时运行超过 4 个线程有什么意义呢 他们不会只是互相窃取时间 CPU 资源 吗 答案围绕线程的目的 即并行性 同时运行多个单独的执行行 在 理想 系统中 每
  • AngularJs 服务、文件上传、Laravel

    我在处理 XHR 请求时遇到问题 由于某种原因我的服务器未收到我的文件 这是我的角度服务更新算法 var update function id name file var formData new FormData formData app
  • Laravel 5.7 如何使用 URL 记录 404

    我想在 Laravel 5 7 中记录 404 错误 但我不明白如何打开它 除了记录 404 错误之外 我还想记录所请求的 URL 其他错误已正确记录 env APP DEBUG true LOG CHANNEL stack 配置 logg
  • 在 R 中转换 Twitter 时间戳

    我是 R 新手 不擅长处理日期 以下日期是从对 Twitter 搜索 API 的查询返回的 并作为字符串存储在我的数据框中 2011 年 1 月 14 日星期五 03 01 22 0000 如何将其转换为日期并将时区更改为东部标准时间 我认
  • Google Api 客户端 NoClassDefFoundError ApacheHttpTransport

    我在编译 Android 应用程序时遇到问题 我的应用程序使用 google api 客户端库 应用程序在构建时保持强制关闭 我已经尝试调试了3个小时 我仍然无法弄清楚 有人有办法解决这个问题吗 错误日志 java lang NoClass
  • Rails 一天 12 小时 AM/PM 范围

    这是一个非常简单的问题 以前可能已经被问过并回答过 但我找不到任何东西 不管怎样 我需要一个 12 小时的范围 数组 比如中午 12 点 上午 11 点 中午 12 点 晚上 11 点 你可能已经明白了它的要点 现在我正在尝试执行一种极其复
  • php递增时间戳错误?

    我有一个分页功能 可以翻阅时间表并每周提前日期并显示与新日期相关的详细信息 在测试一些新数据时 我遇到了分页问题 因为它不会在 2012 年 10 月 22 日通过 调试代码我最终找到了问题的根源 即将表示 22 10 2012 的日期戳增
  • 以编程方式更改 FormsAuthenticationTicket 中的用户数据

    我正在使用FormsAuthenticationTicket并放置数据并将数据传递到所有页面 如果我们不更改任何数据 它就会起作用 所以 现在如果我想更改数据并将其传递给 cookie 并加密 那么如何以编程方式更改数据 请给我更改数据的解
  • 我什么时候应该断开 GoogleApiClient (Android)

    在我的 Android 应用程序中 我有 3 个登录选项 Google Facebook 和我自己的登录选项 我已经实现了所有 3 个 我已按照上述步骤实现了 Google 登录here https developers google co
  • VueJS - 事件“click”的无效处理程序:未定义

    我有一些元素列表 单击这些元素后我想对其进行编辑 我在其他组件中有类似的解决方案 它工作得很好 但在新组件中却没有 也找不到原因 当组件渲染时我得到 Invalid handler for event click got undefined
  • Angular:服务工作者配置

    我正在尝试将 PWA 功能添加到在 Angular 8 上运行的网站 我遵循了很多官方和非官方的教程 但我不明白我做错了什么 ngsw config json 是这样的 schema node modules angular service