1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| import { VitePWA } from 'vite-plugin-pwa'
// sw.js、manifet.webmanifest路径,pwa作用域 const scope = '/vc3-m/base-v3/'
export default { base: scope, ... plugins: [ VitePWA({ registerType: 'autoUpdate', // 或 skipWaiting: true, clientsClaim: true, manifest: { lang: 'zh-cn', name: "m-v3", short_name: "m-v3", start_url: scope, background_color: "#ffffff", description: "m-v3 项目模板", display: "standalone", useWebmanifestExtension: true, icons: [ { src: 'icons/icon-128x128.png', sizes: '128x128', type: 'image/png' }, { src: 'icons/icon-192x192.png', sizes: '192x192', type: 'image/png' }, { src: 'icons/icon-256x256.png', sizes: '256x256', type: 'image/png' }, { src: 'icons/icon-384x384.png', sizes: '384x384', type: 'image/png' }, { src: 'icons/icon-512x512.png', sizes: '512x512', type: 'image/png' } ] }, workbox: { // workbox options for generateSW skipWaiting: true, // 安装完SW不等待直接接管网站 clientsClaim: true, navigateFallback: `${scope}index.html`, // 在预缓存中排除图片 /\.(?:png|jpg|jpeg|svg)$/, // 定义运行时缓存 runtimeCaching: [ { urlPattern: scope, handler: 'NetworkFirst', options: { networkTimeoutSeconds: 20, cacheName: 'cdn-cache', cacheableResponse: { statuses: [200] } } } ] } }) ] }
|