我正在使用Angular 6开发Web应用程序。我有一个Ag-grid企业版。 Ag-grid文档说,我们必须导入所有 ag-grid-angular , ag-grid-community 和 ag-grid-enterprise 与Ag-grid企业合作。
编译后,主捆绑包的总大小超过1.5 MB。因为 ag-grid-community 是694KB,而 ag-grid-enterprise 是230 KB:
这是Ag-grid的正常行为吗?
我正在使用Ag-grid版本19.0.0和以下命令进行构建:
ng build --prod --aot --build-optimizer --vendor-chunk=true
答案 0 :(得分:2)
这是我们所知道的,我们的积压中有
改进项目结构AG-1329(通过摇树)减小栅格束的大小
您可以在此处查看我们的管道:
https://www.ag-grid.com/ag-grid-pipeline/
请注意,鉴于它的复杂性,我们没有任何计划立即进行任何改进,但我们希望最终能够提供少量捆绑服务
如果您是客户,我建议您直接与ag-grid支持联系以获取更多信息
希望这会有所帮助
答案 1 :(得分:2)
AG-1329 Reduce grid bundle size 上面引用的 Alberto 项目已作为 2019 年 11 月发布的 ag-Grid v22 的一部分实施。这增加了通过模块导入 ag-Grid 的选项包含 ag-Grid 功能的不同方面。这允许您只为您实际使用的功能导入模块,从而减少 ag-Grid 包的大小。
详细介绍了这种方法,您可以导入的模块列表如下所示: https://www.ag-grid.com/documentation/javascript/modules/
我们使用 ag-Grid 构建了一个 Vue 项目,仅使用以下模块来说明这种方法: @ag-grid-community/core 和 @ag-grid-community/infinite-row-model 请在此处下载此示例 Vue 项目: https://1drv.ms/u/s!AljcY8dewwaBnFPXn7V9eNjNM-wX?e=h8TnD0
与使用所有 ag-Grid 企业功能的完整 ag-Grid 包的 1.8MB 相比,上述示例项目的包大小仅为 1.0MB。
您可以通过为附加的 Vue 项目运行以下命令来验证生成的包大小: npm i && npm run build && npm run build:report
请按照此方法仅加载您用于减小包大小的 ag-Grid 模块。您可以在此处查看完整的模块列表: https://www.ag-grid.com/documentation/javascript/modules/