vite.config.ts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { defineConfig, loadEnv } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import { resolve } from "path";
  4. import ElementPlus from "unplugin-element-plus/vite";
  5. // const dev = true;
  6. export default ({ mode }: any) => {
  7. console.log(mode);
  8. return defineConfig({
  9. // define: {
  10. // VITE_APP_APP: JSON.stringify(app),
  11. // },
  12. base: "./",
  13. build: {
  14. rollupOptions: {
  15. input: {
  16. index: resolve(__dirname, "index.html"),
  17. map: resolve(__dirname, "map.html"),
  18. offline: resolve(__dirname, "offline.html"),
  19. // 在这里继续添加更多页面
  20. },
  21. },
  22. outDir: mode === 'offline' ? `dist/offline` : `dist/${mode}`,
  23. },
  24. resolve: {
  25. alias: [
  26. {
  27. find: "@",
  28. replacement: resolve(__dirname, "./src"),
  29. },
  30. ],
  31. },
  32. css: {
  33. preprocessorOptions: {
  34. scss: {
  35. api: "modern",
  36. // additionalData: `@use "@/app/${mode}/useStyle.scss" as *;`,
  37. silenceDeprecations: ["legacy-js-api"],
  38. },
  39. },
  40. },
  41. plugins: [
  42. vue(),
  43. ElementPlus({
  44. useSource: true,
  45. }),
  46. ],
  47. server: {
  48. port: 5173,
  49. host: "0.0.0.0",
  50. proxy: {
  51. "/api": {
  52. secure: false,
  53. // target: dev ? devUrl : "mix3d.4dkankan.com",
  54. target: loadEnv(mode, process.cwd()).VITE_SEVER_URL,
  55. changeOrigin: true,
  56. rewrite: (path) => path.replace(new RegExp(`^/api`), ""),
  57. },
  58. "/oss": {
  59. secure: false,
  60. // target: dev ? devUrl : "mix3d.4dkankan.com",
  61. target: loadEnv(mode, process.cwd()).VITE_SEVER_URL,
  62. changeOrigin: true,
  63. },
  64. "/fusion-xj": {
  65. secure: false,
  66. // target: dev ? devUrl : "mix3d.4dkankan.com",
  67. target: loadEnv(mode, process.cwd()).VITE_SEVER_URL,
  68. changeOrigin: true,
  69. rewrite: (path) => path.replace(new RegExp(`^/api`), "/fusion-xj"),
  70. },
  71. "/dev-code": {
  72. target: loadEnv(mode, process.cwd()).VITE_DEVCODE_URL,
  73. // target: dev
  74. // ? "https://xj-mix3d.4dkankan.com/code"
  75. // : "https://mix3d.4dkankan.com/code",
  76. changeOrigin: true,
  77. secure: false,
  78. rewrite: (path) => path.replace(new RegExp(`^/dev-code`), ""),
  79. },
  80. "/swkk": {
  81. // target: dev ? "https://test.4dkankan.com" : "https://www.4dkankan.com",
  82. target: loadEnv(mode, process.cwd()).VITE_SWKK_URL,
  83. changeOrigin: true,
  84. rewrite: (path) => path.replace(new RegExp(`^/swkk`), ""),
  85. },
  86. "/service": {
  87. // target: dev ? "https://test.4dkankan.com" : "https://www.4dkankan.com",
  88. target: loadEnv(mode, process.cwd()).VITE_SERVICE_URL,
  89. changeOrigin: true,
  90. },
  91. '/spg': {
  92. target: 'https://www.test-4dkankan.com',
  93. changeOrigin: true,
  94. rewrite: path => path.replace(/^\/spg/, '/spg'),
  95. secure: false
  96. },
  97. "/swss": {
  98. // target: dev
  99. // ? "https://uat-laser.4dkankan.com/uat"
  100. // : "https://laser.4dkankan.com",
  101. target: loadEnv(mode, process.cwd()).VITE_SWSS_URL,
  102. changeOrigin: true,
  103. rewrite: (path) => path.replace(new RegExp(`^/swss`), ""),
  104. },
  105. "/laser": {
  106. // target: dev
  107. // ? "https://uat-laser.4dkankan.com"
  108. // : "https://laser.4dkankan.com",
  109. target: loadEnv(mode, process.cwd()).VITE_LASER_URL,
  110. changeOrigin: true,
  111. rewrite: (path) => path.replace(new RegExp(`^/laser`), "/laser"),
  112. },
  113. "/fdkk": {
  114. // target: dev
  115. // ? "https://uat-laser.4dkankan.com/uat"
  116. // : "https://laser.4dkankan.com",
  117. target: loadEnv(mode, process.cwd()).VITE_FDKK_URL,
  118. changeOrigin: true,
  119. rewrite: (path) => path.replace(new RegExp(`^/fdkk`), "/fdkk"),
  120. },
  121. },
  122. },
  123. });
  124. };