web-dev-qa-db-fra.com

CommonModule vs BrowserModule en angulaire

Je suis assez nouveau dans le monde de Angular. Quelle est la différence entre CommonModule et BrowserModule et pourquoi l’un devrait être préféré à l’autre?

5
Pritam Bohra

De la docs

BrowserModule fournit des services essentiels au lancement et à l’exécution d’un fichier application de navigateur.

BrowserModule réexporte également CommonModule à partir de @ angular/common, qui signifie que les composants du module AppModule ont également accès au fichier Angular directives dont chaque application a besoin, telles que NgIf et NgFor.

tandis que 

CommonModule (toutes les bases du modèle Angular: liaisons, * ngIf, * ngFor…), sauf dans le premier module d'application, car il fait déjà partie du BrowserModule

Lisez aussi this.

10
Sajeetharan

Ce que vous devez comprendre, c’est qu’avec Angular, vous créez une application modulaire et qu’il existe deux types de modules. L'un est le module racine et l'autre est le module de fonctionnalité.  

  • Le module racine importe le BrowserModule (si vous effectuez un rendu dans le navigateur). Cela a les mêmes choses que CommonModule mais aussi des choses qui sont utilisées pour le rendu. 
  • Maintenant, si vous créez un module de fonctionnalité, puisque BrowserModule est déjà importé dans votre module racine, cela n’a aucun sens et il est fastidieux d’importer le module de navigateur dans votre module de fonctionnalité. De plus, lors de l’importation de CommonModule, les modules de fonctionnalité sont utilisés sur n’importe quelle plate-forme cible (par exemple, une plate-forme mobile native), pas uniquement les navigateurs . C’est pourquoi vous importez CommonModule dans vos modules de fonctionnalité et BrowserModule dans votre module racine. 
4
ANewGuyInTown