web-dev-qa-db-fra.com

Angular 9 - Le point d'entrée cible a des dépendances manquantes

J'ai mis à jour une bibliothèque Angular vers Angular 9. Cependant, lorsque j'essaye d'utiliser cette bibliothèque dans un autre projet Angular 9) J'obtiens une erreur comme celle-ci:

Le point d'entrée cible "mycomponents/entity-selector" a des dépendances manquantes:

 - mycomponents/shared-services
 - mycomponents/spinner
 - mycomponents/text-input

Package.json

{
  "$schema": "../../../node_modules/ng-packagr/package.schema.json",
  "name": "entity-selector",
  "version": "0.0.0",
  "ngPackage": {
    "lib": {
      "entryFile": "public_api.ts"
    },
    "dest": "../../../dist/mycomponents/entity-selector"
  }
}

Il s'agit d'un point de terminaison secondaire qui utilise d'autres composants qui sont également des points de terminaison secondaires.

Dans le projet de bibliothèque, ai-je besoin de définir les dépendances dans ng-packgr ou ailleurs? Le module du composant de sélecteur d'entité importe le module approprié pour les autres composants. Ce problème est survenu depuis Angular 9.

Merci d'avance.

23
Scott Walter

Dans le projet qui importe votre bibliothèque, ajoutez ce qui suit au tsconfig.json. Cela garantit que tsc est capable de résoudre les "dépendances manquantes" entre les sous-modules de votre bibliothèque.

 "compilerOptions": {
    "paths": {
      "mycomponents/*": [
        "./node_modules/mycomponents/*"
      ],

Avec cela, il n'y avait pas besoin de whitelistedNonPeerDependencies.

0