[Bug]: 已公布的 AG 网格包装防止有效的路由级捆绑拆分
- 链接到可复制的情景
https://codesandbox.io/p/GitHub/ESkelton Univerus/ag-grid-bundle-issues/master? 进口=真实
描述错误
□ 复制步骤
- 清除再生产并安装依赖。 a. 节点24+(nvm安装24) b. pnpm (npm i pnpm-g) (英语). c. pnpm 安装
- 开展出版包装建设: - " pnpm 建设 "
- 开放:
- `项目/ag-grid-bundle-issue/dist/stats.html'
- 检查懒惰路线应用程序的块图:
简易干线 ' 仅进口ClientSideRowModel Module'、Module Registry'和主题Quartz'ComplexGridPage'进口这些相同的符号并加上CsvExport Module'、Pagination Module'、RowSelection Module'和`NumberFilterModule'
- 运行源解构:
- " 当地建筑 "
- 打开:
- `项目/ag-grid-bundle-issue/dist-source/stats.html'
- 比较两种可视化输出,特别是:
- 共享的 AG 网格块
- `小GridPage ' 路线块
- " 复杂GridPage " 路线块
□ 实际行为
随着已公布的软件包构建,AG Grid代码的分拆过于粗糙.
仅由 " ComplexGridPage " 使用的代码被比预期的更严格地拉入共享输出,因此较简单的路由最终会支付它没有使用的AG Grid功能的费用.
<img宽="689"高="184" alt="Image" src="https://GitHub.com/user-attachments/assets/0982b9c6-202b-433a-a8f8-fe91eea15369"/ >
已发布软件包模式:仅由复杂路由使用的AG Grid代码在共享输出中仍然被大量代表(这是index.esm....)
<img宽=""1836"高="872" alt="Image" src="https://GitHub.com/user-attachments/assets/d9a789a3-4ef-4c26-a616-7fa544544e60"/".
AG Grid Community 显示为卷起- 插图- 视觉器中的一个大块
□ 预期行为
AG Grid 代码应该沿着懒惰的路由边界更有效地分拆.
共享/核心AG网格代码仍可共享,但仅由 " ComplexGridPage " 使用的可选模块应主要留在复杂的路由块中,而不是被提升为共同产出。
源解构显示预期块形状的更接近版本。
<img宽="697"高="117" alt="Image" src="https://GitHub.com/user-attachments/assets/6f4d48ed-de95-4389-b1fd-a092ce04b012"/".
source 模式: 复杂- 仅限 AG Grid 模块与复杂路由块保持相去甚远的距离, 少多共享到普通捆绑中.
<img宽度=""1828"高="874" alt="Image" src="https://GitHub.com/user-attachments/assets/ded56553-e8fb-4cfc-aaabf-f153dd502049"/".
Ag Grid Community 显示模块而不是一个大框
□ 更多信息
这直接表明了ag-grid-community ' 的问题,但同样的包装模式也可能影响ag-grid-emplex ' 。
关键比较是应用代码在两种情况下都是相同的. 唯一有意义的区别在于AG Grid是如何解决的:
- ** 已公布的软件包模式** 使用已安装的 " 网格社区 " 软件包
- 来源模式别名 . . . . . . .
内容来源: ag-grid/ag-grid