import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import DefineOptions from 'unplugin-vue-define-options/vite' import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import Unocss from 'unocss/vite' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), vueJsx(), Unocss(), DefineOptions(), AutoImport({ imports: ['vue', 'vue-router', 'pinia', '@vueuse/core'], resolvers: [ ElementPlusResolver(), IconsResolver({ prefix: 'Icon' }) ], dts: 'src/auto-import.d.ts' }), Components({ resolvers: [ ElementPlusResolver(), IconsResolver({ enabledCollections: ['ep'] }) ], dirs: ['src/components'], extensions: ['vue'], dts: 'src/components.d.ts' }), Icons({ autoInstall: true }) ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } }, server: { proxy: { '/api': { target: 'http://10.8.8.57:30701/mbwb', changeOrigin: true } } }, build: { terserOptions: { //打包后移除console和注释 compress: { drop_console: true, drop_debugger: true } } } })