Как настроить Service Worker по умолчанию Create React Apps для кеширования ресурсов, которые не находятся в React sr c Context (publi c Folder)? - PullRequest
0 голосов
/ 29 мая 2020

сегодня я попробовал ServiceWorker приложения Create React, и все кэшируется, кроме Favicon моей страницы, которая определена в public / img / favicon.ico, поэтому, когда страница находится в автономном режиме, значок Favicon исчезает, а ошибка подключения отображается в консоли , так есть ли у кого-нибудь опыт, как настроить подключаемый модуль веб-страницы сервисного работника, чтобы он тоже кешировал это?

1 Ответ

0 голосов
/ 29 мая 2020

У меня CRA-проект здесь . Я не кэширую свой значок, я позволяю обработчику по умолчанию кэшировать его, но я предварительно кэширую резервное изображение, и вы должны иметь возможность сделать то же самое для предварительного кэширования своего значка.

CRA создает sw по умолчанию, который Не думаю, что я коснулся. Чтобы получить больше контроля, я использую рабочую панель в файле sw-addendum, который добавляю к sw по умолчанию в сборке. В приложении вы можете предварительно кэшировать то, что вам нужно, и настроить маршруты, et c.

см. package. json для сценария postdeploy

"postdeploy": "cp src/face.69232788.jpg docs/face.69232788.jpg && cat src/swAddendum.js >> docs/service-worker.js",

sw -дополнение здесь

workbox.precaching.precache([
  './face.69232788.jpg',
]);
...