【发布时间】:2022-01-08 00:47:03
【问题描述】:
如果浏览器中的 SSR Nuxt 应用程序与服务器端构建不兼容,我不知道如何解决问题,因为构建已更新。这意味着用户在浏览器中有旧版本的应用程序,需要刷新页面。我发现了这样的东西:https://dev-clone.nuxtjs.app/alejandroakbal/632139
所以我在插件目录中创建了 pwa-update.js 文件并将其注册到 nuxt.config.js 中。 但我在控制台中看不到任何 console.log() 。不明白如何使用它,以及它是否是正确的方法。
实现看起来像pwa-update.js
export default async (context) => {
const workbox = await window.$workbox;
if (!workbox) {
console.debug("Workbox couldn't be loaded.");
return;
} else {
console.log('Workbox has been loaded.'); // Dont see any message.
}
workbox.addEventListener('installed', (event) => {
if (!event.isUpdate) {
console.log('The PWA is on the latest version.');
return;
}
console.log('There is an update for the PWA, reloading...');
// window.location.reload();
});
};
nuxt.config.js
plugins: [
{ src: '~/plugins/pwa-update.js', mode: 'client' },
],
【问题讨论】:
-
我有点困惑,请澄清一下。结果是针对特定于 PWA 应用程序的,您的网站是 PWA 还是 SSR?如果是 SSR,则不需要手动更新,因为所有内容都在服务器端呈现。
-
是的,它是 SSR。所以你说它不是必需的,因为所有(我不确定是否真的全部)这些东西都是在服务器上生成的?
标签: vue.js nuxt.js server-side-rendering workbox