diff --git a/vite.config.mjs b/vite.config.mjs index 7d6e4b4..8641534 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -13,15 +13,21 @@ import { defineConfig } from 'vite' import { fileURLToPath, URL } from 'node:url' // https://vitejs.dev/config/ -export default defineConfig({ - base: './', - plugins: [ +export default defineConfig(({ mode }) => { + // 从命令行参数中获取 wallpaper 模式 + const isWallpaper = mode === 'wallpaper'; + + const plugins = [ VueRouter(), Layouts(), Vue({ template: { transformAssetUrls } - }), - VitePWA({ + }) + ]; + + // 只在非壁纸模式下启用 PWA + if (!isWallpaper) { + plugins.push(VitePWA({ registerType: 'autoUpdate', devOptions: { navigateFallback: 'index.html', @@ -173,7 +179,10 @@ export default defineConfig({ }, ], } - }), + })); + } + + plugins.push( // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme Vuetify({ autoImport: true, @@ -199,31 +208,36 @@ export default defineConfig({ enabled: true, }, vueTemplate: true, - }), - ], - define: { 'process.env': {} }, - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) + }) + ); + + return { + base: './', + plugins, + define: { 'process.env': {} }, + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + extensions: [ + '.js', + '.json', + '.jsx', + '.mjs', + '.ts', + '.tsx', + '.vue', + ], }, - extensions: [ - '.js', - '.json', - '.jsx', - '.mjs', - '.ts', - '.tsx', - '.vue', - ], - }, - server: { - port: 3031, - }, - css: { - preprocessorOptions: { - sass: { - api: 'modern-compiler', + server: { + port: 3031, + }, + css: { + preprocessorOptions: { + sass: { + api: 'modern-compiler', + }, }, }, - }, + } })