跳到主要内容

PWA(可安装应用)

主题可生成 Progressive Web App 所需的 manifest.json 与 Service Worker(sw.js),让站点支持「添加到主屏幕」、离线访问与静态资源缓存。

配置

pwa:
enable: false # 默认关闭,开启后生成 manifest.json 与 sw.js
name: # 应用全名(留空则取站点 title)
short_name: # 主屏幕图标下的短名(留空则取 name 前 12 字符)
description: # 应用描述
display: standalone # standalone | fullscreen | minimal-ui | browser
theme_color: "#fcfcfb" # 应用主题色(与深色模式浅色色板一致)
background_color: "#fcfcfb" # 启动画面背景色

配置项说明

字段说明
enable是否开启 PWA
name应用全名,留空则取站点 title
short_name主屏幕图标下的短名,留空则取 name 前 12 字符
description应用描述
display显示模式:standalone / fullscreen / minimal-ui / browser
theme_color应用主题色(状态栏/标题栏颜色)
background_color启动画面背景色

manifest.json

开启后 manifest.json 自动从 favicon 配置生成 icons 数组:

  • apple-touch-icon 180×180
  • favicon-32×32
  • svg

Service Worker 缓存策略

sw.js 采用「静态资源缓存优先、HTML 网络优先回退缓存」策略:

  • 静态资源(JS / CSS / 图片 / 字体):优先从缓存读取
  • HTML 页面:优先请求网络,网络失败时回退到缓存(保证用户能离线访问已浏览过的页面)

页面会自动注册 Service Worker(仅在生产环境、HTTPS 或 localhost 下生效),并设置 <meta name="theme-color">

HTTPS 要求

注意:PWA 必须在 HTTPS 环境下才能注册 Service Worker(localhost 除外)。GitHub Pages、Vercel、Netlify、Cloudflare Pages 等托管平台默认提供 HTTPS,可直接使用。