角材模块会自动摇晃吗?

问题描述

我看到了以两种方式导入角材料的单个模块。

  1. 将所有角材料模块(MatButtonModule,MatRadioModule等)导入一个巨大的angular-material.module中,然后将该模块导入任何需要一些角材料的Angular模块中。
  2. 将各个物料模块导入各自使用的模块中。例如,我将ReactiveFormsModule导入我的RegistrationModule(用户在其中填写注册表格),但不会将其导入其他没有表格的延迟加载模块中。

在我看来,第二种选择很繁琐且难以维护,因此我更喜欢第一种选择。但是,我希望最终捆的尺寸尽可能地小。


这带给我我的问题:


角材料模块是否自动摇晃了?
换句话说,当我将巨大的angular.material.module.ts导入到我的延迟加载模块中时,最终的捆绑包中是否会包含该模块中未使用的angular-material模块?

我应该坚持第二种选择,还是可以将它们全部塞入巨大的angular-material.module中?

解决方法

不,这很糟糕,不要这样做。

这是有关此主题的研究:https://indepth.dev/stop-using-shared-material-module/

基本上,如果这样的魔术可行,没有人会费心将材料库拆分为模块的基调,并且通常每个人都将制作一个巨大的模块,并希望编译器能够理解该怎么做。

也许将来会有更多与常春藤有关的事情成为可能,但是现在,它可能会排除某些服务和组件或纯函数,也许不是。

即使这样做(通常不适合编写代码),从逻辑上讲也不应该存在。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...