import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path' // 生产环境专用的Vite配置 export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), '') return { plugins: [vue()], resolve: { alias: { '@': path.resolve(__dirname, './src') } }, // 构建配置 build: { target: 'es2015', outDir: 'dist', assetsDir: 'assets', sourcemap: false, minify: 'terser', // 代码分割配置 rollupOptions: { output: { manualChunks: { vue: ['vue', 'vue-router', 'pinia'], 'element-plus': ['element-plus', '@element-plus/icons-vue'], echarts: ['echarts'], utils: ['axios'] }, chunkFileNames: 'assets/js/[name]-[hash].js', entryFileNames: 'assets/js/[name]-[hash].js', assetFileNames: 'assets/[ext]/[name]-[hash].[ext]' } }, chunkSizeWarningLimit: 1000 }, // 环境变量配置 define: { __VUE_OPTIONS_API__: true, __VUE_PROD_DEVTOOLS__: false, __APP_VERSION__: JSON.stringify('1.0.0') }, // 日志级别 logLevel: 'info' } })