импортировать рабочий ящик из локального v5 в плагин webpack

Поскольку сейчас мы используем рабочую панель версии 5, конфигурация importWorkboxFrom удалена, но если мы используем injectManifest, как мы должны импортировать рабочую панель локально? Единственный способ использовать importScripts с https://storage.googleapis.com/workbox-cdn/releases/5.0.0/workbox-sw.js?

в документации указано, что generateSW по умолчанию использует локальный импорт, но как насчет injectManifest? https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-v4#build_tool_option_overhaul


person SayJeyHi    schedule 02.03.2020    source источник


Ответы (1)


Если вы используете Workbox v5 в режиме InjectManifest, вам следует использовать модули ES библиотек времени выполнения Workbox и разрешить webpack компилировать / объединять их в окончательный выходной swDest файл. Вам больше не нужно использовать importScripts() или CDN.

Дополнительную информацию о внесении этого изменения см. На странице https://developers.google.com/web/tools/workbox/guides/using-bundlers#moving_from_importscripts_to_module_imports

person Jeff Posnick    schedule 02.03.2020
comment
спасибо, таким образом куда поставить кастомные importScripts? webpack компилирует workbox-sw, а injectManifest добавит в него некоторые данные. Поскольку свойство importScripts было удалено в v5 из манифеста инъекции, куда мы должны добавить пользовательский importScripts? - person SayJeyHi; 03.03.2020
comment
В v5 в режиме InjectManifest вы можете либо включить логику, которую в противном случае поместили бы в импортированный скрипт, непосредственно в swSrc файл верхнего уровня, либо, в качестве альтернативы, написать importScripts('path/to/imports.js') в вашем swSrc файле. У вас есть полный контроль над содержимым вашего сервис-воркера. - person Jeff Posnick; 03.03.2020