import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' // import AutoImport from 'unplugin-auto-import/vite' // import Components from 'unplugin-vue-components/vite' // import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), '') return { base: '/xyqj/admin/', plugins: [ vue() // 暂时禁用自动导入插件来解决兼容性问题 // AutoImport({ // imports: ['vue', 'vue-router', 'pinia'], // resolvers: [ // ElementPlusResolver() // ], // dts: 'src/auto-imports.d.ts', // eslintrc: { // enabled: true // } // }), // Components({ // resolvers: [ // ElementPlusResolver() // ], // dts: 'src/components.d.ts', // // 自动导入组件的目录 // dirs: ['src/components'] // }) ], resolve: { alias: { '@': resolve(__dirname, 'src') } }, server: { port: 3000, host: true, proxy: { '/api': { target: env.VITE_API_BASE_URL || 'http://localhost:5000', changeOrigin: true } } }, css: { preprocessorOptions: { scss: { additionalData: `@use "@/assets/styles/variables.scss" as *;` } } }, build: { outDir: 'dist', sourcemap: false, chunkSizeWarningLimit: 2000, rollupOptions: { output: { manualChunks: { vue: ['vue', 'vue-router', 'pinia'], 'element-plus': ['element-plus'], echarts: ['echarts'] } } }, target: 'es2015', minify: 'esbuild' } } })