From b3556b8639a580d7c54d9c985371af976567cd91 Mon Sep 17 00:00:00 2001 From: Zikai Date: Sun, 12 Jul 2026 15:44:39 +0000 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=AD=90=E6=A0=87=E7=AD=BE=E9=A1=B5?= =?UTF-8?q?=E6=8C=89=E9=9C=80=E5=8A=A0=E8=BD=BD=EF=BC=88=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=B8=8E=E5=85=83=E7=B4=A0=E6=87=92=E5=8A=A0=E8=BD=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原 v-show + 静态 import 导致三个子标签页的组件代码全部打进 MobileGame chunk,且首屏即渲染全部(排行榜 onMounted 立即发 AJAX、视频元数据加载)。 改为: - 三个标签页内容拆为独立组件 TeamLeaderboardTab/IterationsTab/ExperimentTab - MobileGame 用 defineAsyncComponent + 动态 import,Vite 拆成独立 chunk - v-if + Suspense:未激活的标签页组件根本不挂载(不发 AJAX、不渲染) 构建产物可见三个独立 chunk;headless 验证:默认团队页仅加载 team chunk, 点迭代记录才加载 IterationsTab chunk,点实验才加载 ExperimentTab chunk。 --- src/modules/mobile-game/MobileGame.vue | 100 ++++-------------- .../mobile-game/components/ExperimentTab.vue | 48 +++++++++ .../mobile-game/components/IterationsTab.vue | 17 +++ .../components/TeamLeaderboardTab.vue | 41 +++++++ 4 files changed, 129 insertions(+), 77 deletions(-) create mode 100644 src/modules/mobile-game/components/ExperimentTab.vue create mode 100644 src/modules/mobile-game/components/IterationsTab.vue create mode 100644 src/modules/mobile-game/components/TeamLeaderboardTab.vue diff --git a/src/modules/mobile-game/MobileGame.vue b/src/modules/mobile-game/MobileGame.vue index 5deb4a0..6b98ad6 100644 --- a/src/modules/mobile-game/MobileGame.vue +++ b/src/modules/mobile-game/MobileGame.vue @@ -1,18 +1,12 @@