我们可以在 angular(2/4/5/6) 中使用多个库,因为它支持 TreeShaking 吗?在不影响性能和构建尺寸的情况下

Can we use multiple libraries in angular(2/4/5/6) because it supports TreeShaking ? Without hitting the performance and build size

我已经阅读了这篇文章:https://www.reddit.com/r/Angular2/comments/6a678s/primeng_vs_material2/ 在他们提到的评论中,我们可以使用 Prime NgAngular material 一起在应用程序中。在 PrimeNg 中,组件大多是独立模块,因此您可以只添加您需要的模块,在几次更新后 Angular material 也是如此.

我的问题是...我们能否在 Angular 应用程序中使用任意数量的库,例如:PrimeNg、Angular material、Fuse 等等。不会影响构建的性能或大小,因为 Tree shaking 会处理它。 基本上我只想使用 Material 来设计布局和一些外观。

此外,angular(5/6) 支持 100% tree shaking 还是我们仍然需要使用 Rollup.js?浏览了多篇文章但还不确定。

当您使用生产标志构建 Angular 应用程序时,每个组件、服务、指令或管道至少被引用一次(在 @NgModule 注释中)。在 AOT 编译结束时,编译器会删除这些注释,之后它还会删除未引用的东西。

Source

也就是说,每个 Angular Material 组件都是一个模块,可以让您更精细地导入库。

我不知道 PrimeNg,但根据我快速搜索的内容,正如您已经知道的那样,每个组件似乎也有一个模块。

同时使用这两个库应该不会影响包的大小和性能,但您应该知道 "look and feel" 不同于 UI 库和 UI 库