9
votes

L'importation de modules inutiles dans AppModule ralentit-elle l'application Angular 2?

Dans une application angulaire (2/4/6), si nous importons des modules inutiles dans le module d'application, cela ralentira l'application.

Cela a-t-il un impact sur les performances de l'application?

@NgModule({
  imports: [
    BrowserModule.withServerTransition({ appId: 'myId' }),
    FormsModule,
    AppRoutingModule,
    HttpClientModule,
    HttpClientInMemoryWebApiModule,
    AaModule,
    BbModule
  ],
  declarations: [
    AppComponent,
    AdminComponent
  ],
  providers: [  ],
  bootstrap: [ AppComponent ]
})


3 commentaires

qu'entendez-vous par performances ?


@ Jota.Toledo Charge-t-il ces modules inutiles?


Oui, il les chargera, vous pouvez déplacer les fonctionnalités vers ses propres modules de fonctionnalités et les charger paresseusement. De cette façon, seule la fonctionnalité demandée selon l'URL sera chargée initialement. Pour info, je fais référence aux importations: [] et non à la déclaration d'importation Typescript.


3 Réponses :


2
votes

L'importation de modules inutilement gonfle considérablement la taille de votre application. Cela s'applique également à tout module angulaire que vous pourriez souhaiter utiliser, y compris des tiers.


2 commentaires

@Kooldandy a posé des questions sur les performances et non sur la taille de l'application. Veuillez préciser davantage.


@MartinCh oui je pose des questions sur la performance. Cela a-t-il un impact sur les performances ou faudra-t-il plus de temps pour charger le bundle?



3
votes

Si vous importez un module et ne l'utilisez jamais .. il sera laissé pour compte. C'est l'un des plus grands avantages du «tremblement des arbres» que le compilateur offre. Également appelé "code mort".

Par contre, référencer du code inutile à partir de modules augmentera (ou gonflera comme vous l'appelez) la taille de votre distribution et exigera également que le navigateur lise ce code en mémoire.


0 commentaires

7
votes

Yomateo a raison de dire que le tremblement d'arbre prendra soin des modules / opérateurs de module inutilisés lors de la construction.

Il y a cependant une différence dans le temps nécessaire pour effectuer la construction, car il faut plus de temps pour créer des applications avec plus de modules inclus même s'ils ne sont jamais utilisés et la taille de la construction est plus grande si plus de modules sont importés.

/ p>

Donc, pour répondre à votre question, les performances ne seront pas affectées, cependant, le temps de construction et la taille de construction seront affectés.

Source


0 commentaires