web-dev-qa-db-ja.com

Angular 9-ターゲットエントリポイントに依存関係がありません

AngularライブラリをAngular 9.にアップグレードしました。ただし、別のAngular 9プロジェクトでそのライブラリを使用しようとすると次のようなエラーが発生します。

ターゲットエントリポイント "mycomponents/entity-selector"に依存関係がありません:

 - 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"
  }
}

これは、セカンダリエンドポイントでもある他のコンポーネントを使用するセカンダリエンドポイントです。

ライブラリプロジェクトでは、ng-packgrまたは他の場所で依存関係を定義する必要がありますか?エンティティセレクタコンポーネントのモジュールは、他のコンポーネントの適切なモジュールをインポートします。この問題はAngular 9以降に発生しました。

少し早いですがお礼を。

23
Scott Walter

ライブラリをインポートするプロジェクトで、tsconfig.jsonに以下を追加します。これにより、tscがライブラリ内のサブモジュール間の「欠落している依存関係」を解決できるようになります。

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

これにより、whitelistedNonPeerDependenciesは必要なくなりました。

0