vite.config.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. watch: {
  13. ignored: [
  14. '!**/node_modules/**'
  15. ],
  16. },
  17. proxy: {
  18. ["/" + env.VITE_API_BASE_URL]: {
  19. target: `http://localhost:${env.VITE_DEV_PORT}`,
  20. changeOrigin: true,
  21. rewrite: (path) =>
  22. path.replace(new RegExp(`^/${env.VITE_API_BASE_URL}`), ""),
  23. },
  24. ["/laser"]: {
  25. target: `http://localhost:${env.VITE_DEV_PORT}`,
  26. changeOrigin: true,
  27. rewrite: (path) => path.replace(new RegExp(`^/laser`), "laser"),
  28. },
  29. },
  30. };
  31. }
  32. return defineConfig({
  33. base: "./",
  34. mode,
  35. build: {
  36. sourcemap: true,
  37. },
  38. resolve: {
  39. alias: {
  40. "@": path.resolve(__dirname, "src"),
  41. "@kankan/components": path.resolve(__dirname, "src/components/base"),
  42. },
  43. extensions: [".js", ".ts", ".json", ".vue"],
  44. },
  45. server,
  46. plugins: [vue()],
  47. });
  48. };