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 { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' import path from 'path' // https://vite.dev/config/ export default defineConfig({ // 使用绝对路径,确保在任何子路由下都能正确加载资源 base: '/', plugins: [ vue(), // Vue函数自动导入 AutoImport({ imports: [ 'vue', 'vue-router', 'pinia', { 'axios': [ ['default', 'axios'] ] } ], dts: 'src/auto-imports.d.ts', eslintrc: { enabled: false } }), // 组件自动导入 Components({ resolvers: [ // Ant Design Vue组件自动导入 AntDesignVueResolver({ importStyle: false, resolveIcons: true }), // Ant Design Vue图标自动导入 IconsResolver({ prefix: 'icon', enabledCollections: ['ant-design'] }) ], dts: 'src/components.d.ts' }), // 图标插件 Icons({ autoInstall: true, compiler: 'vue3' }) ], resolve: { alias: { '@': path.resolve(__dirname, 'src') } }, // 开发服务器配置 server: { port: 5173, proxy: { // 后端API代理 '/api': { target: 'http://localhost:8080', changeOrigin: true, configure: (proxy) => { proxy.on('proxyReq', (_proxyReq, req) => { console.log(`[Backend API Proxy] ${req.method} ${req.url}`) }) } } } } })