import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import { resolve } from 'path'; import UnoCSS from 'unocss/vite'; import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; import { ViteImageOptimizer } from 'vite-plugin-image-optimizer'; // https://vite.dev/config/ export default defineConfig({ base: './', plugins: [ vue(), UnoCSS(), // 自动引入组件 AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ViteImageOptimizer({ logStats: true, ansiColors: true, test: /\.(jpe?g|png|gif|tiff|webp|svg|avif)$/i, includePublic: true, svg: { multipass: true, plugins: [ { name: 'preset-default', params: { overrides: { cleanupNumericValues: false, cleanupIds: { minify: false, remove: false, }, convertPathData: false, }, }, }, 'sortAttrs', { name: 'addAttributesToSVGElement', params: { attributes: [{ xmlns: 'http://www.w3.org/2000/svg' }], }, }, ], }, png: { quality: 80, }, jpeg: { quality: 80, }, jpg: { quality: 80, }, webp: { lossless: true, }, }), ], resolve: { alias: { '@': resolve(__dirname, 'src'), }, }, server: { proxy: { '/api/api': { // target: 'http://172.18.50.86:8080', // target: 'http://172.26.28.188:8080', target: 'http://10.0.0.200:7000', changeOrigin: true, rewrite: (path) => path.replace('/api/api', '/api'), }, }, }, });