From 17ac2ce0ed52874616c79c910667e41e34604826 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期一, 31 八月 2026 13:14:12 +0800
Subject: [PATCH] add translation app

---
 xiaozhi-esp32-server/main/manager-web/vue.config.js |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/xiaozhi-esp32-server/main/manager-web/vue.config.js b/xiaozhi-esp32-server/main/manager-web/vue.config.js
index 89b85dd..1501b0d 100644
--- a/xiaozhi-esp32-server/main/manager-web/vue.config.js
+++ b/xiaozhi-esp32-server/main/manager-web/vue.config.js
@@ -16,8 +16,9 @@
   return path.join(__dirname, dir)
 }
 
-// 纭繚鍔犺浇 .env 鏂囦欢
+// Vue CLI 浼氭寜 mode 鍔犺浇 .env.*锛涜繖閲屽啀璇讳竴閬嶏紝缁� vue.config.js 鑷韩鐢�
 dotenv.config();
+dotenv.config({ path: path.resolve(__dirname, `.env.${process.env.NODE_ENV || 'development'}`) });
 
 // 瀹氫箟CDN璧勬簮鍒楄〃锛岀‘淇漇ervice Worker涔熻兘璁块棶
 const cdnResources = {
@@ -87,10 +88,36 @@
       }
     });
 
-    // 鍚敤浼樺寲璁剧疆
-    config.optimization.usedExports(true);
-    config.optimization.concatenateModules(true);
-    config.optimization.minimize(true);
+    // webpack 5 寮�鍙戞ā寮忛粯璁や篃浼氬紑 usedExports锛屼細鎶� Vue 2 SFC 鐨� style
+    // default export treeshake 鎺夛紙澶ч噺 style0 warning锛夈�俶inimize 杩樹細鐮村潖
+    // Vue 2 娓叉煋鍑芥暟锛屽鑷撮〉闈㈢┖鐧藉拰 setAttribute 鎶ラ敊銆傝繖浜涘彧缁欑敓浜ф瀯寤恒��
+    if (process.env.NODE_ENV === 'production') {
+      config.optimization.usedExports(true);
+      config.optimization.concatenateModules(true);
+      config.optimization.minimize(true);
+    } else {
+      config.optimization.usedExports(false);
+      config.optimization.concatenateModules(false);
+      config.optimization.minimize(false);
+    }
+
+    // Vue 2 + vue-style-loader 闇�瑕� css-loader 鐨� CommonJS 瀵煎嚭
+    const ruleTypes = ['css', 'postcss', 'scss', 'sass', 'less', 'stylus']
+    ruleTypes.forEach(ruleType => {
+      const rule = config.module.rule(ruleType)
+      if (!rule) return
+      const oneOfs = rule.oneOfs && rule.oneOfs.store
+      if (!oneOfs) return
+      oneOfs.forEach(oneOf => {
+        if (oneOf.uses.has('css-loader')) {
+          oneOf.use('css-loader').tap(options => {
+            options = options || {}
+            options.esModule = false
+            return options
+          })
+        }
+      })
+    })
   },
   configureWebpack: config => {
     if (process.env.NODE_ENV === 'production') {

--
Gitblit v1.9.1