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 { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import { resolve } from 'path' export default defineConfig({ plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()] }), Components({ resolvers: [ElementPlusResolver({ importStyle: 'css' })] }), ], resolve: { alias: { '@': resolve(__dirname, 'src') }, }, server: { proxy: { '/api': { target: 'http://localhost:8000', changeOrigin: true }, '/healthz': { target: 'http://localhost:8000', changeOrigin: true }, }, }, build: { outDir: 'dist', sourcemap: false, target: 'es2020', cssCodeSplit: true, chunkSizeWarningLimit: 800, rollupOptions: { output: { manualChunks(id: string) { if (id.includes('/node_modules/element-plus/') || id.includes('/node_modules/@element-plus/')) { return 'vendor-el'; } if (id.includes('/node_modules/vue/') || id.includes('/node_modules/pinia/') || id.includes('/node_modules/vue-router/')) { return 'vendor-vue'; } if (id.includes('/node_modules/axios/')) { return 'vendor-axios'; } }, }, }, }, })