import { UserConfig, ConfigEnv, loadEnv, defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import VueSetupExtend from "vite-plugin-vue-setup-extend"; import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; export default defineConfig(({ mode }: ConfigEnv): UserConfig => { const env = loadEnv(mode, process.cwd()); return { base: "./", plugins: [ vue(), VueSetupExtend(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ], optimizeDeps: { include: ["schart.js"], }, resolve: { alias: { "@": "/src", "~": "/src/assets", }, }, define: { __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "true", }, server: { // 允许IP访问 host: "0.0.0.0", // 应用端口 (默认:3000) port: Number(env.VITE_APP_PORT), // 运行是否自动打开浏览器 open: true, proxy: { /** 代理前缀为 /dev-api 的请求 */ [env.VITE_APP_BASE_API]: { changeOrigin: true, // 接口地址 target: env.VITE_APP_API_URL, rewrite: (path) => path.replace(new RegExp("^" + env.VITE_APP_BASE_API), ""), }, }, }, }; });