import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; import { createServer as createMockServer } from "./server/mock"; export default async ({ mode }) => { const env = loadEnv(mode, process.cwd()); const isDev = mode === "development"; let server; if (isDev) { await createMockServer(Number(env.VITE_DEV_PORT)); server = { proxy: { ["/" + env.VITE_API_BASE_URL]: { target: `http://localhost:${env.VITE_DEV_PORT}`, changeOrigin: true, rewrite: (path) => path.replace(new RegExp(`^/${env.VITE_API_BASE_URL}`), ""), }, ["/laser"]: { target: `http://localhost:${env.VITE_DEV_PORT}`, changeOrigin: true, rewrite: (path) => path.replace(new RegExp(`^/laser`), "laser"), }, }, }; } return defineConfig({ mode, build: { sourcemap: true, }, resolve: { alias: { "@": path.resolve(__dirname, "src"), "@kankan/components": path.resolve(__dirname, "src/components/base"), }, extensions: [".js", ".ts", ".json", ".vue"], }, server, plugins: [vue()], }); };