import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import AutoImport from 'unplugin-auto-import/vite' export default defineConfig({ plugins: [ vue(), // Element Plus 组件按需导入(自动检测模板中的 并导入样式) Components({ resolvers: [ElementPlusResolver({ importStyle: 'css' })], dts: false, // CI 构建不需要生成类型文件 }), // Vue / Element Plus API 自动导入(ref, reactive, ElMessage 等) AutoImport({ imports: ['vue', 'vue-router'], resolvers: [ElementPlusResolver()], dts: false, }), ], base: '/', build: { outDir: 'dist', emptyOutDir: true, // 代码分割:将第三方库单独拆包 rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules/element-plus')) { return 'element-plus' } if (id.includes('node_modules/@element-plus')) { return 'element-icons' } if (id.includes('node_modules/vue') || id.includes('node_modules/@vue')) { return 'vue-vendor' } }, }, }, }, })