我正在开发一个基于reactjs的应用程序。我还对其进行了service-worker
设置。在add to home screen
之后,应用程序从不检查服务器是否有新更新。
我也尝试过:
window.location.reload(true);
但是它不会更新新版本。
我正在使用Apache
服务器来服务build
文件夹,并且为了进行更新,我正在获得我的项目的新版本并将其服务在Apache
服务器上。
答案 0 :(得分:0)
两天后我终于解决了我的问题。问题出在field_name
文件中。如果页面重新加载并且服务器文件已更改,则必须添加事件侦听器,以便它将更新文件。
因此,我在service-worker
函数的serviceWorker.js
中添加了此部分:
register
别忘了。重新加载页面时,此侦听器调用。因此,我进行API服务以检查是否有新版本。如果有新版本,则必须重新加载页面以获取新文件。
答案 1 :(得分:0)
这对我有用:
src/index.tsx
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://cra.link/PWA
serviceWorkerRegistration.register({
onUpdate: (e) => {
const { waiting: { postMessage = null } = {} as any, update } = e || {};
if (postMessage) {
postMessage({ type: 'SKIP_WAITING' });
}
update().then(() => {
window.location.reload();
});
},
});