Vue CLI 4 - предварительный кеш плагина PWA в манифесте не может получить index.html и не регистрирует работника службы - PullRequest
0 голосов
/ 01 ноября 2019

После обновления Vue CLI 3 до CLI 4 сервисный работник прекратил регистрацию.

Среда:

Firebase hosting, 

"vue": "^2.6.10",
"vuex": "^3.1.1",
"firebase": "^7.2.3",
"vuetify": "^2.1.9",
"core-js": "^3.3.6",
...
 "@vue/cli-plugin-pwa": "^4.0.5",

enter image description here

enter image description here

Я вижу, что ошибка сгенерированного файла предварительного кэширования именно на странице /index.html:

// precache-manifest.326028534d4ff40f4be7a15fc11e84c6.js
...
 {
    "revision": "7eeb3269c508ac628b85ccfaa20744ab",
    "url": "/index.html"
  },
...

Я пытался отключить 'skipWaiting 'из workboxOptions, потому что я использую ленивые маршруты загрузки, как сказано в документации, но ничего не делает:

pwa:{
  workboxOptions: {
    skipWaiting: false,
  }
}

Ошибка на вкладке сети: enter image description here

Если я закомментирую строки в скомпилированном файле precache-manifest вручную, то работник сервиса работает без проблем. Я не понимаю.

1 Ответ

0 голосов
/ 02 ноября 2019

Оказалось, проблема была в конфигурации firebase.json, в разделе хостинга я включил "cleanUrls": true. Удаление его заставило сервисного работника зарегистрироваться снова.

вот так это выглядит сейчас, настройки по умолчанию:

 "hosting": {
    "public": "dist",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...