vite.config.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { defineConfig, loadEnv } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import path from "path";
  4. import { createServer as createMockServer } from "./server/mock";
  5. export default async ({ mode }) => {
  6. const env = loadEnv(mode, process.cwd());
  7. const isDev = mode === "development";
  8. let server;
  9. if (isDev) {
  10. await createMockServer(Number(env.VITE_DEV_PORT));
  11. server = {
  12. proxy: {
  13. ["/" + env.VITE_API_BASE_URL]: {
  14. target: `http://localhost:${env.VITE_DEV_PORT}`,
  15. changeOrigin: true,
  16. rewrite: (path) =>
  17. path.replace(new RegExp(`^/${env.VITE_API_BASE_URL}`), ""),
  18. },
  19. ["/laser"]: {
  20. target: `http://localhost:${env.VITE_DEV_PORT}`,
  21. changeOrigin: true,
  22. rewrite: (path) => path.replace(new RegExp(`^/laser`), "laser"),
  23. },
  24. },
  25. };
  26. }
  27. return defineConfig({
  28. resolve: {
  29. alias: {
  30. "@": path.resolve(__dirname, "src"),
  31. "@kankan/components": path.resolve(__dirname, "src/components/base"),
  32. },
  33. extensions: [".js", ".ts", ".json", ".vue"],
  34. },
  35. server,
  36. plugins: [vue()],
  37. });
  38. };