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