Хостинг Firebase, извлекающий файлы предыдущей реакции при новом развертывании, приводит к появлению белого экрана при первой загрузке - PullRequest
0 голосов
/ 02 апреля 2019

При повторном развертывании моего реагирующего приложения на хостинг Firebase я получаю пустую страницу до тех пор, пока не очищу кеш браузера.

Я полагаю, что белый экран вызван эта ошибка в отладчике Chrome - index.16b60874.js из предыдущей версии, и, поскольку он теперь не существует, возвращается страница 404. Предварительная конфигурация кэша в service-worker.js не содержит ссылки на этот файл, и index.html также не содержит. Они оба ссылаются на текущую версию (index.3b6ee05d.js), поэтому я не уверен точно, откуда он все еще извлекает этот файл. Кроме внешних библиотек, таких как gonfonts и stripe.js, это только два источника, которые запрашивают при начальной загрузке.

Я установил контроль кеша в /service-worker.js, / и /index.html как "no-cache" / "no-store", и запрос GET для этих файлов показывает, что он работал. Я сделал это с помощью:

"hosting": {
    ...,
    "headers": [
      {
        "source": "/service-worker.js",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-cache"
          }
        ]
      },
      {
        "source": "/index.html",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-store"
          }
        ]
      },
      {
        "source": "/",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-store"
          }
        ]
      }
    ],
    ...
}

Редактирование # 1: Таким образом, похоже, что текущая текущая версия на самом деле - index.9ef13508.js (извлекается, когда очищается кэш), поэтому кажется, что в игре находятся три версии файла .. .

...