CRA window.location.reload (true) не обновляет PWA - PullRequest
1 голос
/ 01 июня 2019

Я использую приложение Create-реакции-приложение и зарегистрировал serviceWorker, который входит в комплект.

import * as serviceWorker from "./serviceWorker"

class App extends Component {
  constructor(props) {
  super(props)
  serviceWorker.register({
    onUpdate: this.handleServiceWorkerUpdate
  })
 }
}

функция handleServiceWorkerUpdate() запрашивает у пользователя, хочет ли он обновить PWA / веб-сайт, и если да, я запускаю window.location.reload(true)

Это, однако, не дает пользователю последнюю версию PWA. Пользователь должен нажать + Shift + перезагрузить веб-сайт или, если установлен PWA, ему необходимо закрыть приложение и открыть его, чтобы получить последнюю версию.

Как я могу дать пользователю самую последнюю версию, не сказав им, чтобы вручную не обновлять / перезагружать приложение?

Служба CRAWorker Я ничего не изменил в этом файле. https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/src/serviceWorker.js#L79

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...