From 4524b02fc51529b4ef0a9bbf63538fd6bc3bc24f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期六, 07 三月 2026 10:45:30 +0800
Subject: [PATCH] yys  测试打包优化

---
 vite.config.js |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/vite.config.js b/vite.config.js
index dc687a8..692255a 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -14,54 +14,68 @@
       env.VITE_APP_ENV === "development"
           ? "http://1.15.17.182:9002"
           : env.VITE_JAVA_API;
+
   return {
     define:{
       __BASE_API__: JSON.stringify(javaUrl)
     },
-    // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�
-    // 榛樿鎯呭喌涓嬶紝vite 浼氬亣璁句綘鐨勫簲鐢ㄦ槸琚儴缃插湪涓�涓煙鍚嶇殑鏍硅矾寰勪笂
-    // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆�
     base: VITE_APP_ENV === "production" ? "/" : "/",
     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"],
+      dedupe: ['vue', 'axios'], // 鍘婚噸閲嶅渚濊禆
     },
-    // 鎵撳寘閰嶇疆
+    // 鍏ㄥ眬寮�鍚瀯寤虹紦瀛橈紙鏍稿績锛�
+    cacheDir: './node_modules/.vite',
+    // 渚濊禆棰勬瀯寤轰紭鍖�
+    optimizeDeps: {
+      include: ['vue', 'axios', 'element-plus', 'echarts'], // 鏍规嵁椤圭洰渚濊禆璋冩暣
+      disabled: false,
+      esbuildOptions: {
+        target: 'es2020',
+        worker: true, // 寮�鍚� esbuild 澶氱嚎绋�
+      }
+    },
+    // 鎵撳寘閰嶇疆锛堟牳蹇冧紭鍖栧尯锛�
     build: {
-      // https://vite.dev/config/build-options.html
-      sourcemap: command === "build" ? false : "inline",
+      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,
       },
     },
-    // vite 鐩稿叧閰嶇疆
     server: {
       port: 80,
       host: true,
       open: true,
       proxy: {
-        // https://cn.vitejs.dev/config/#server-proxy
         "/dev-api": {
           target: baseUrl,
           changeOrigin: true,
           rewrite: (p) => p.replace(/^\/dev-api/, ""),
         },
-        // springdoc proxy
         "^/v3/api-docs/(.*)": {
           target: baseUrl,
           changeOrigin: true,
@@ -83,6 +97,17 @@
           },
         ],
       },
+      // CSS 棰勭紪璇戠紦瀛�
+      preprocessorOptions: {
+        scss: {
+          cacheDirectory: path.resolve(__dirname, './node_modules/.vite/scss-cache'),
+        },
+      },
+    },
+    // esbuild 鍏ㄥ眬閰嶇疆
+    esbuild: {
+      logOverride: { 'this-is-undefined-in-esm': 'silent' },
+      target: 'es2020',
     },
   };
-});
+});
\ No newline at end of file

--
Gitblit v1.9.3