导入 ng-bootstrap 子模块包括捆绑中的整个 ng-bootstrap

问题描述

我正在尝试从导入 NgbModule 切换到仅导入我实际使用的子模块,例如 NgbModalModule

import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';

// ...      

@NgModule({
  imports: [
    CommonModule,NgbModalModule,browserModule,RouterModule,FormsModule
  ],

但是,整个库仍保留在我的最终产品包中:

Bundle analysis

我已经仔细检查了我的应用程序模块或我导入的任何自定义功能模块中没有留下对根模块的引用。 (我用的是常春藤)

这种行为的原因可能是什么?

编辑:我创建了一个 minimal repo显示了相同的行为。没什么好看的,只是

  • 运行ng new
  • 添加ng-bootstrap
  • 导入子模块 (NgbPaginationModule)
  • 运行 ng build --prod 和包分析器
  • 生成包含整个 ng-bootstrap.js (442kB) 的包

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)