web-dev-qa-db-fra.com

Le composant ne peut pas être utilisé comme composant d'entrée

import { SpinnerComponent, ExternalLibrary } from 'external.library'
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule, ExternalLibrary
  ],
  bootstrap: [AppComponent]
  , entryComponents: [SpinnerComponent]
})

Ci-dessus, mon code pour spécifier entryComponent à un module. Ce SpinnerComponent provient également d'un module externe, ExternalModule.

Webpack donnant une erreur: 

ERREUR dans SpinnerComponent ne peut pas être utilisé en tant que composant d’entrée.

L'appartenance au même module est-elle une exigence pour qu'un composant apparaisse dans la liste de propriétés entryComponents?

Dans la mesure où je peux passer en revue les définitions officielles, aucune condition préalable n'est spécifiée pour un composant avant d'apparaître dans la propriété entryComponent.

4
Ashutosh Singh

J'avais le même problème. Ce qui a été résolu pour moi, c’est d’ajouter le composant à la entryComponents d’un module de ma bibliothèque externe.

Dans votre cas, cela impliquerait de mettre à jour le ExternalLibrary NgModule afin d'inclure SpinnerComponent en tant que composant d'entrée au lieu de l'application utilisant la bibliothèque.

@NgModule({
    ...
    entryComponents: [SpinnerComponent]
    ...
})
export class ExternalLibrary { }
1
Josh Raker