import { fileURLToPath, URL } from 'node:url' 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 Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' // https://vitejs.dev/config/ export default defineConfig({ base: `/`, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } }, plugins: [ vue(), AutoImport({ resolvers: [ ElementPlusResolver(), IconsResolver({ prefix: 'Icon' }) ], imports: [ 'vue', // 自定义全局引入 { // 全局引入"src/api/index.ts"的`default`导出,注册为全局变量`api` // 相当于在每个ts/vue文件中执行了一次 `import api from "@/api/index"`; '@/api/index': [['default', '$api']] } ], dts: './src/auto-imports.d.ts' }), Components({ resolvers: [ ElementPlusResolver(), // 自动注册图标组件 IconsResolver({ enabledCollections: ['ep'] }) ] }), Icons({ autoInstall: true }) ], server: { port: 80, hmr: true, open: true, // 设置 https 代理 proxy: { '/api': { target: 'http://192.168.0.161', changeOrigin: true, rewrite: (path: string) => path.replace(/^\/api/, '') } } } })