From d4882f469c19640c26b70b4eb15cbff1975561b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E5=87=AF?= <2448379534@qq.com> Date: Mon, 31 Aug 2026 14:30:58 +0800 Subject: [PATCH] =?UTF-8?q?bug=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend-sjgl/vite.config.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/frontend-sjgl/vite.config.ts b/frontend-sjgl/vite.config.ts index 79186866..0e3726c5 100644 --- a/frontend-sjgl/vite.config.ts +++ b/frontend-sjgl/vite.config.ts @@ -116,6 +116,8 @@ export default ({ mode }: ConfigEnv): UserConfig => { // 手动分块,将大型库单独打包,减少单个 chunk 的复杂度 manualChunks(id) { if (id.includes('node_modules')) { + // 将 univer 相关包统一归为单个 chunk,避免同套模块被打散成多份 + if (id.includes('@univerjs')) return 'univer'; // 将 element-plus, lodash 等大型库单独拆分 if (id.includes('element-plus')) return 'element-plus'; if (id.includes('ant-design-vue')) return 'ant-design-vue'; @@ -127,7 +129,23 @@ export default ({ mode }: ConfigEnv): UserConfig => { } } }, + // 预构建 univer 相关依赖,避免 dev 下同一模块被浏览器按多个 chunk 重复加载 + optimizeDeps: { + include: [ + '@univerjs/core', + '@univerjs/presets', + '@univerjs/preset-sheets-core', + '@univerjs-pro/exchange-client' + ] + }, resolve: { + // 确保 univer 相关包只解析一份副本,防止多版本副本导致 DI 标识符重复 + dedupe: [ + '@univerjs/core', + '@univerjs/presets', + '@univerjs/preset-sheets-core', + '@univerjs-pro/exchange-client' + ], // Vite路径别名配置 alias: { '@': path.resolve(__dirname, './src')