Javascript 角度2+;加载整个模块还是仅加载导出的组件?

Javascript 角度2+;加载整个模块还是仅加载导出的组件?,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个大模块,但只导出一个组件,当我导入该模块时,是否角度加载整个模块或仅导出组件,以便控制性能?我不想将组件移动到公共模块,因为它破坏了结构。谁能给我一个建议吗 更新代码示例 说我有3个组件的ModuleA,只导出其中1个: @NgModule({ // ... exports: [ ComponentA ], declarations: [ ComponentA, ComponentB, ComponentC ] }) export cl

我有一个大模块,但只导出一个组件,当我导入该模块时,是否角度加载整个模块或仅导出组件,以便控制性能?我不想将组件移动到公共模块,因为它破坏了结构。谁能给我一个建议吗

更新代码示例

说我有3个组件的ModuleA,只导出其中1个:

@NgModule({
  // ...
  exports: [
    ComponentA
  ],
  declarations: [
    ComponentA,
    ComponentB,
    ComponentC
  ]
})
export class ModuleA { }
在ModuleB中,我导入ModuleA以便使用ComponentA:

@NgModule({
  // ...
  imports: [
    ModuleA
  ]
})
export class ModuleB { }
当应用程序加载ModuleB时,它是只加载ComponentA还是加载ModuleA的所有组件?

如果你说:

模块.ts

export const foo;

export const bar;

export const baz;
import { foo } from './module'
然后 组件。ts

export const foo;

export const bar;

export const baz;
import { foo } from './module'
我相信,在开发过程中,您将拥有所有可用的成员,而在构建生产构建时,AoT构建将使其他成员都离开。它使用Webpack来实现这一点

网页包树震动机制解释如下:

以下是AoT编译器的文档:


无论如何,尝试一个prod构建,如果一切正常,您应该会很好:)

您可以添加一些代码片段来了解更多您的需求吗?好的,我刚刚更新了问题:谢谢你的答复。它应该加载module的module.ts文件中提到的所有组件对不起,我的问题误导了你,我刚刚用代码更新了。