vite.config.ts 1.3 KB

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