例如,我们有一个shared
模块,其中包含一堆输入组件,这些输入组件在我的应用程序中得到了广泛使用。
在我拥有的共享模块下
input.component.ts
checkbox.component.ts
datepicker.component.ts
等。
所以可以说我有另一个page
组件,属于它自己的page
模块,我想在其中插入上面的一个组件。为此,我必须导入整个shared
模块,对吗?
无论是导入整个shared
模块,还是只需要十几个组件,或者在每个低级组件中都有一个独立的模块,在性能方面是否存在差异?所以我只能导入所需的确切组件。
我很好奇Angular如何处理它,谢谢。
答案 0 :(得分:0)
根据角度库的工作量(例如,角度材料,角度本身),我认为Angular将所有模块代码都包含在包中。这就是为什么您有需要时导入不同模块的原因,而不仅仅是导出所有模块的大模块。
所以是的,从捆绑包的大小来看,每个共享组件最好有一个模块。当然,在我看来,这太过分了:我们谈论的Kb在大多数应用中都无济于事。
最好的建议是根据语义和您的直觉:我想说的是,首先使用带有所有共享组件的共享模块,然后,如果您觉得某些组件之间相互关联性很强(例如表单输入)并且没有在所有地方使用,请在此时创建一个模块。
答案 1 :(得分:0)
您可以加载整个模块,但是您可以指定要在另一个模块中使用的确切组件,例如需要制作一个index.ts文件,然后从共享模块中导出确切的组件:
export * from './components/check-box/check-box.component';