import { fileURLToPath, URL } from "node:url"; import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import vueJsx from "@vitejs/plugin-vue-jsx"; import Unocss from "unocss/vite"; import { presetUno } from "unocss"; import AutoImport from "unplugin-auto-import/vite"; import Components from 'unplugin-vue-components/vite'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; import ViteCompression from 'vite-plugin-compression'; import PurgeIcons from 'vite-plugin-purge-icons'; // https://vitejs.dev/config/ export default defineConfig({ server: { proxy: { '/test-api': { target:"http://admin.echo.mteam01.com/openApi/", changeOrigin: true, rewrite: (path) => path.replace(/^\/test-api/, '') // 设置重写的路径 },} }, resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, plugins: [ vue(), vueJsx(), Unocss({ presets: [presetUno()], }), AutoImport({ imports: ["vue", "vue-router", "@vueuse/core"], // 自动导入vue和vue-router相关函数 dts: "src/types/auto-import.d.ts", // eslint报错解决 https://blog.csdn.net/sayUonly/article/details/123482912 eslintrc: { enabled: false, // Default `false` filepath: "./.eslintrc-auto-import.json", // Default `./.eslintrc-auto-import.json` globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') }, resolvers: [ ElementPlusResolver(), ], }), Components({ resolvers: [ ElementPlusResolver(), ], }), PurgeIcons(), ViteCompression({ algorithm: 'gzip', // 选择压缩算法,支持 'gzip' 或 'brotli' ext: '.gz', // 压缩后文件的扩展名 }), ], });