Angular 如何处理来自 Angular 库的非导入模块?

How does Angular handle non-imported modules from Angular libraries?

我目前正在 运行 一个 Angular 12 应用程序并向其中导入一些 Angular 库。

现在,假设我正在导入一个繁重的 angular 库 ng add huge-sized-library,并且这个库导出了很多 Angular 个模块。

从重库中只导入一个small模块如何影响应用程序大小?

只有您导入的模块才会包含在应用程序构建中。其他模块将不会在构建中使用或通过 tree shaking.

删除

例如,ng-bootstrap 库 is setup in this way.

这能否正常工作可能取决于库的设置。您可以使用 webpack-bundle-analyzer 或类似工具检查构建中实际包含了哪些模块。您需要将 --stats-json 选项添加到 ng build 以生成这些工具所需的输入。