簡體   English   中英

Angular 2+是加載整個模塊還是只加載導出的組件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM