import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' import { fileURLToPath, URL } from 'node:url' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), AutoImport({ imports: [ 'vue', 'vue-router', { 'naive-ui': [ 'useDialog', 'useMessage', 'useNotification', 'useLoadingBar', ], }, ], dts: 'src/auto-imports.d.ts', }), Components({ resolvers: [NaiveUiResolver()], dts: 'src/components.d.ts', }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, server: { host: '127.0.0.1', port: 5173, proxy: { '/api': { target: 'http://127.0.0.1:8080', changeOrigin: true, }, }, }, build: { target: 'es2020', sourcemap: false, // 注:不上 manualChunks。naive-ui 内部依赖(vueuc / @css-render/vue3-ssr 等) // 在新版本里是 transitive,直接列在 manualChunks 会触发 "Could not resolve"。 // 让 Rollup 自动按引用分块即可,SPA 性能足够。 }, })