vite.config.ts 1.3 KB

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