From 904af45f98dcfd1155a9f6d6ed34783552d06ec9 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 10 三月 2026 15:47:09 +0800
Subject: [PATCH] fix: 本地运行配置修改

---
 vite.config.js |  151 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 115 insertions(+), 36 deletions(-)

diff --git a/vite.config.js b/vite.config.js
index 95648c4..dd8a7e0 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,36 +1,115 @@
-import { defineConfig, loadEnv } from 'vite'
-import path from 'path'
-import createVitePlugins from './vite/plugins'
-
-// https://vitejs.dev/config/
-export default defineConfig(({ mode, command }) => {
-  const env = loadEnv(mode, process.cwd())
-  return {
-    plugins: createVitePlugins(env, command === 'build'),
-    resolve: {
-      // https://cn.vitejs.dev/config/#resolve-alias
-      alias: {
-        // 璁剧疆璺緞
-        '~': path.resolve(__dirname, './'),
-        // 璁剧疆鍒悕
-        '@': path.resolve(__dirname, './src')
-      },
-      // https://cn.vitejs.dev/config/#resolve-extensions
-      extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
-    },
-	// vite 鐩稿叧閰嶇疆
-    server: {
-      port: 80,
-      host: true,
-      open: true,
-      proxy: {
-        // https://cn.vitejs.dev/config/#server-proxy
-        '/dev-api': {
-          target: 'http://localhost:8080',
-          changeOrigin: true,
-          rewrite: (p) => p.replace(/^\/dev-api/, '')
-        }
-      },
-    },
-  }
-})
+import { defineConfig, loadEnv } from "vite";
+import path from "path";
+import createVitePlugins from "./vite/plugins";
+
+// https://vitejs.dev/config/
+export default defineConfig(({ mode, command }) => {
+  const env = loadEnv(mode, process.cwd());
+  const { VITE_APP_ENV } = env;
+  const baseUrl =
+    env.VITE_APP_ENV === "development"
+      ? "http://192.168.1.35:9009"
+      : env.VITE_BASE_API;
+  const javaUrl =
+    env.VITE_APP_ENV === "development"
+      ? "http://192.168.1.35:9009"
+      : env.VITE_JAVA_API;
+
+  return {
+    define: {
+      __BASE_API__: JSON.stringify(javaUrl),
+    },
+    base: VITE_APP_ENV === "production" ? "/" : "/",
+    plugins: createVitePlugins(env, command === "build"),
+    resolve: {
+      alias: {
+        "~": path.resolve(__dirname, "./"),
+        "@": path.resolve(__dirname, "./src"),
+      },
+      extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
+      dedupe: ["vue", "axios"], // 鍘婚噸閲嶅渚濊禆
+    },
+    // 鍏ㄥ眬寮�鍚瀯寤虹紦瀛橈紙鏍稿績锛�
+    cacheDir:
+      "/var/jenkins_home/workspace/瀹㈡埛-楣忓垱鐢靛瓙鍓嶇/node_modules/.vite",
+    // 渚濊禆棰勬瀯寤轰紭鍖�
+    optimizeDeps: {
+      include: ["vue", "axios", "element-plus", "echarts"], // 鏍规嵁椤圭洰渚濊禆璋冩暣
+      esbuildOptions: {
+        target: "es2020",
+      },
+    },
+    // 鎵撳寘閰嶇疆锛堟牳蹇冧紭鍖栧尯锛�
+    build: {
+      sourcemap: false, // 褰诲簳鍏抽棴鐢熶骇鐜sourcemap
+      outDir: "dist",
+      assetsDir: "assets",
+      chunkSizeWarningLimit: 2000,
+      minify: "esbuild", // 浣跨敤 esbuild 鍘嬬缉锛堟棤闇�棰濆渚濊禆锛�
+      reportCompressedSize: false, // 鍏抽棴浜х墿浣撶Н鎶ュ憡锛屽噺灏戣�楁椂
+      commonjsOptions: {
+        include: [/node_modules/, /\.commonjs$/],
+      },
+      rollupOptions: {
+        output: {
+          chunkFileNames: "static/js/[name]-[hash].js",
+          entryFileNames: "static/js/[name]-[hash].js",
+          assetFileNames: "static/[ext]/[name]-[hash].[ext]",
+          // 鍒嗗寘绛栫暐锛堟媶鍒嗗ぇ渚濊禆锛�
+          manualChunks: {
+            vendor: ["vue", "vue-router", "pinia", "axios"],
+            ui: ["element-plus"], // 鏍规嵁瀹為檯UI搴撹皟鏁�
+            charts: ["echarts"], // 鏈夊浘琛ㄥ簱鍒欎繚鐣欙紝鏃犲垯鍒犻櫎
+          },
+        },
+        cache: true,
+      },
+    },
+    server: {
+      port: 8001,
+      host: true,
+      open: true,
+      proxy: {
+        "/dev-api": {
+          target: baseUrl,
+          changeOrigin: true,
+          rewrite: (p) => p.replace(/^\/dev-api/, ""),
+        },
+        "^/v3/api-docs/(.*)": {
+          target: baseUrl,
+          changeOrigin: true,
+        },
+      },
+    },
+    css: {
+      postcss: {
+        plugins: [
+          {
+            postcssPlugin: "internal:charset-removal",
+            AtRule: {
+              charset: (atRule) => {
+                if (atRule.name === "charset") {
+                  atRule.remove();
+                }
+              },
+            },
+          },
+        ],
+      },
+      // CSS 棰勭紪璇戠紦瀛�
+      preprocessorOptions: {
+        scss: {
+          cacheDirectory: path.resolve(
+            __dirname,
+            "./node_modules/.vite/scss-cache"
+          ),
+        },
+      },
+    },
+    // esbuild 鍏ㄥ眬閰嶇疆
+    esbuild: {
+      logOverride: { "this-is-undefined-in-esm": "silent" },
+      target: "es2020",
+    },
+  };
+});

--
Gitblit v1.9.3