import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; // @ts-ignore 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 = { watch: { ignored: [ "**/node_modules/**", "**/server/**", "**/public/static/lib/**", ], }, 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({ base: "./", 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()], }); };