[英]Does Angular 2+ load whole module or just exported components?
我有一個大模塊但只導出1個組件,當我導入該模塊時,Angular會加載整個模塊還是僅導出組件以便我可以控制性能? 我不想將組件移動到一個公共模塊,因為它會破壞結構。 有人能給我一個建議嗎?
更新代碼示例
說我有3個組件的ModuleA,只輸出其中1個:
@NgModule({
// ...
exports: [
ComponentA
],
declarations: [
ComponentA,
ComponentB,
ComponentC
]
})
export class ModuleA { }
在ModuleB中,我導入ModuleA以便我可以使用ComponentA:
@NgModule({
// ...
imports: [
ModuleA
]
})
export class ModuleB { }
當app加載ModuleB時,它只是加載ComponentA還是加載ModuleA的所有組件?
所以如果你說:
module.ts
export const foo;
export const bar;
export const baz;
然后是component.ts
import { foo } from './module'
我相信 ,在開發過程中,您將擁有所有成員,在構建生產構建時,Angular AoT建築將徹底震撼其他人。 它使用Webpack來實現。
Webpacks樹搖動機制在這里解釋: https ://webpack.js.org/guides/tree-shaking/
以下是角度AoT編譯器的文檔: https ://angular.io/guide/aot-compiler
無論如何,嘗試prod構建,如果一切正常你應該沒事:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.