Вы можете иметь только один PWA для обоих URL. Когда вы создаете сервисного работника, его область действия охватывает текущие папки и относительные дочерние элементы. Если вы разместите его на уровне root, вы можете использовать один сервисный работник для обоих URL-адресов без необходимости усложнять введение вложенных конструкций.
Вы можете определять разные стратегии кэширования в одном и том же сервисном работнике. с легкостью.
Если вы хотите углубить PWA topi c, вы можете взглянуть на статьи, которые я написал о них, начиная с базовых c концепций и далее глубже с более продвинутыми темами.
Обновление
Свойство scope файла манифеста определяет, какие HTTP-вызовы могут быть перехвачены работником сервиса (SW).
Если у вас есть scope: '/'
, ваше ПО будет перехватывать все HTTP-запросы, сделанные вашим приложением.
Если это будет /user
, ПО не сможет перехватить запрос, который не попадает в его область (например, /orders/code.js
), но он перехватит все вызовы GET под пользователем root, например /user/details
.
Таким образом, в вашем случае вы можете иметь два ПО (даже на одной и той же странице), где вы можете определять различные области для перехвата, вам просто нужно быть осторожным, чтобы не перекрывать области между ними. Если вы планируете также кэшировать статические ресурсы c, имейте в виду, что область действия ПО определяется папкой, в которой хранится файл ПО и его подпапками.
О файлах с несколькими манифестами Джефф дал ответ об этом на SO .