Angular Service Worker не кэширует почтовые запросы

Кто-нибудь знает, не кеширует ли сервисный работник angular сообщение Запросы ? Я интегрировал его в свое приложение, используя @angular 5.2.5, и он кеширует некоторые запросы, но некоторые из них являются сообщениями, а те, которые он не кеширует, даже если они соответствуют указанному мной шаблону URL. Вот мой ngsw-config.json

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html"
        ],
        "versionedFiles": [
          "/*.bundle.css",
          "/*.bundle.js",
          "/*.chunk.js"
        ]
      }
    },
    {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**"
        ],
        "urls": [
          "**/fonts.googleapis.com/**/*",
          "**/www.gstatic.com/**/*"
        ]
      }
    }
  ],
  "dataGroups": [
    {
      "name": "api-performance",
      "urls": [
        "/api/attachments/*"
      ],
      "cacheConfig": {
        "maxSize": 200,
        "maxAge": "7d",
        "timeout": "10s",
        "strategy": "performance"
      }
    },
    {
      "name": "api-freshness",
      "urls": [
        "/api/*",
        "/api/**/*",
        "/api/**/**/*",
        "/api/**/**/**/*",
        "/api/views/*",
        "/api/app-structure",
        "/api/workflow/view",
        "/api/issues/*",
        "/.well-known",
        "/certs"
      ],
      "cacheConfig": {
        "maxSize": 200,
        "maxAge": "2d",
        "timeout": "10s",
        "strategy": "freshness"
      }
    }
  ]
}

Это добавлено только для тестирования, потому что / views не кэшируется и что один - это почтовый запрос, и я попытался добавить белые карточки, чтобы они соответствовали шаблон, но безуспешно на этом "/api/*", "/api/**/*", "/api/**/**/*", "/api/**/**/**/*".

У меня проблемы с тестированием моего веб-сайта в производственной сборке с помощью Chrome потому что для нашей внутренней производственной среды мы используем самоподписанный сертифицированный кто-нибудь знает обходной путь для этого? я пробовал это отклик но хром по-прежнему показывает ошибки, а сервисный работник не работает

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
3
0
1 510
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Angular Service Worker не кеширует запросы на публикацию, и это кажется мне правильным принципом проектирования. Если вы пытаетесь добавить запись в автономном режиме и хотите синхронизировать данные сервера при подключении к сети, вы можете попробовать использовать IndexedDb или PouchDb (база данных JavaScript, которая синхронизируется без проблем).

Вот несколько справочных статей, чтобы начать работу с PouchDB.

Кэш Service Worker не позволяет кэшировать запросы POST w3c.github.io/ServiceWorker/#cache-put, так что это единственный путь вперед.

JayChase 22.11.2018 03:49

Это не проблема Angular, это связано с тем, как работают сервис-воркеры. На данный момент сервис-воркеры не кэшируют почтовые запросы. Следуйте за этим обсуждением для получения более подробной информации https://github.com/w3c/ServiceWorker/issues/977

Другие вопросы по теме