@neosjs/create-app
Version:
帮助开发者快速创建Vue3应用并自动配置项目
69 lines (67 loc) • 2.04 kB
JavaScript
export default function getData({ oldData }) {
const pwaPlugin = {
id: 'vite-plugin-pwa',
importer: 'import { VitePWA } from \'vite-plugin-pwa\'',
initializer: `VitePWA({
includeManifestIcons: false,
selfDestroying: false,
manifestFilename: 'manifest.json',
manifest: {
id: '/',
scope: '/',
name: VITE_TITLE,
short_name: VITE_TITLE,
display_override: ['fullscreen', 'minimal-ui', 'standalone', 'window-controls-overlay'],
display: 'standalone',
lang: 'zh-CN',
theme_color:'#339af0',
background_color:'#ffffff',
orientation: 'natural',
prefer_related_applications: false,
icons: [
{
src: '/icons/pwa-64x64.png',
sizes: '64x64',
type: 'image/png',
purpose: 'monochrome'
},
{
src: '/icons/pwa-192x192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: '/icons/pwa-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any'
},
{
src: '/icons/maskable-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable'
}
],
},
registerType: VITE_PWA_CLAIMS ? 'autoUpdate' : 'prompt',
workbox: {
globPatterns: ['**/*.{js,css,html,png,jpg,jpeg,svg,ico}'],
dontCacheBustURLsMatching: /\.\w{8}\./,
maximumFileSizeToCacheInBytes: 2 * 1024 * 1024, // 限制文件最大2MB
cleanupOutdatedCaches: false,
sourcemap: false
},
devOptions: {
enabled: false,
type: 'module',
navigateFallback: 'index.html',
suppressWarnings: true
}
})`
}
return {
...oldData,
plugins: [...oldData.plugins, pwaPlugin]
}
}