【发布时间】:2021-09-12 09:35:29
【问题描述】:
我目前正在运行一个 Angular 12 应用程序并将一些 Angular 库导入其中。
现在,假设我要导入一个重型 Angular 库 ng add huge-sized-library,而这个库导出了很多 Angular 模块。
从繁重的库中只导入一个small模块会如何影响应用程序的大小?
【问题讨论】:
标签: angular node-modules ivy angular-library
我目前正在运行一个 Angular 12 应用程序并将一些 Angular 库导入其中。
现在,假设我要导入一个重型 Angular 库 ng add huge-sized-library,而这个库导出了很多 Angular 模块。
从繁重的库中只导入一个small模块会如何影响应用程序的大小?
【问题讨论】:
标签: angular node-modules ivy angular-library
只有您导入的模块才会包含在应用程序构建中。其他模块将不会在构建中使用或被 tree shaking 删除。
例如,ng-bootstrap 库is setup in this way。
这是否正常工作可能取决于库的设置。您可以使用webpack-bundle-analyzer 或类似工具检查构建中实际包含哪些模块。您需要将--stats-json 选项添加到ng build 以生成这些工具所需的输入。
【讨论】: