vite.config.ts 1.6 KB

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