pwa-popup

提供一个弹窗组件,允许用户手动刷新 PWA Service Worker 。

该插件必须和 pwa 插件 一起使用,并且 skipWaiting 配置项不能设置为 true 。

当新的 Service Worker 就绪时,会在页面右下角出现一个弹窗,询问用户是否需要激活处于 Waiting 状态的 Service Worker 。

安装

npm i -D @vuepress/plugin-pwa-popup@next

##配置项

locales

  • 类型: Record<string, { message: string, buttonText: string }>
  • 详情:弹窗在不同 locales 下的信息。

如果没有指定该配置项,它会降级使用默认信息。

  • 示例:
module.exports = {
  plugins: [
    ['@vuepress/plugin-pwa'],
    [
      '@vuepress/plugin-pwa-popup',
      {
        locales: {
          '/': {
            message: 'New content is available.',
            buttonText: 'Refresh',
          },
          '/zh/': {
            message: '发现新内容可用',
            buttonText: '刷新',
          },
        },
      },
    ],
  ],
}

样式

你可以通过 CSS 变量来自定义弹窗的样式:

:root {
  --pwa-popup-z-index: 10;

  --pwa-popup-text-color: #2c3e50;
  --pwa-popup-bg-color: #ffffff;
  --pwa-popup-border-color: #3eaf7c;
  --pwa-popup-shadow: 0 4px 16px var(--pwa-popup-border-color);

  --pwa-popup-btn-text-color: #ffffff;
  --pwa-popup-btn-bg-color: #3eaf7c;
  --pwa-popup-btn-hover-bg-color: #4abf8a;
}