問題タブ [ng-packagr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1525 参照

angular - ng-packagr で生成されたパッケージを Angular CLI アプリと統合しています: モジュールが見つかりません

これを再現するリポジトリは次のとおりです: https://github.com/dragonflypl/ng-packagr-issue

  1. シンプルなパッケージを作成しましたloggingnpm run buildライブラリを生成 + しますnpm pack
  2. 次にfooGui、Angular CLIで生成し、npm run consumetgzをインストールすることでライブラリをインストールしました
  3. スローnpm run buildからのランニング:fooGui

./src/app/app.component.ngfactory.js のエラー モジュールが見つかりません: エラー: 'C:\XXX\dev\ng-packagr の 'logging/src/modules/logging/logger/index' を解決できません-issue\fooGui\src\app' resolve 'logging/src/modules/logging/logger/index' in 'C:\XXX\dev\ng-packagr-issue\fooGui\src\app' 解析されたリクエストはモジュールを使用しています説明ファイル: C:\XXX\dev\ng-packagr-issue\fooGui\package.json (相対パス: ./src/app) フィールド 'browser' には、説明ファイルを使用した後に有効なエイリアス構成が含まれていません: C: \XXX\dev\ng-packagr-issue\fooGui\package.json (相対パス: ./src/app) モジュール C:\XXX\dev\ng-packagr-issue\fooGui\src\app\node_modules として解決「存在しないか、ディレクトリ C:\XXX\dev\ng-packagr-issue\fooGui\src\node_modules ではありません」t が存在するか、ディレクトリ C:\XXX\dev\ng-packagr-issue\node_modules が存在しないか、ディレクトリではありません C:\XXX\dev\node_modules が存在しないか、ディレクトリ C:\ ではありませんXXX\node_modules が存在しないか、ディレクトリではありません C:\node_modules が存在しないか、説明ファイルを使用して C:\XXX\dev\ng-packagr-issue\fooGui\node_modules でモジュールを検索するディレクトリではありません: C :\XXX\dev\ng-packagr-issue\fooGui\package.json (相対パス: ./node_modules) フィールド 'browser' には、記述ファイルを使用した後、有効なエイリアス構成が含まれていません: C:\XXX\dev\ng -packagr-issue\fooGui\package.json (相対パス: ./node_modules) 記述ファイルを使用: C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\package.json (相対パス: ./src/modules/logging/logger/index) 拡張子なし フィールド 'browser' に有効なエイリアス構成が含まれていません C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\ logger\index が存在しません.ts フィールド 'browser' に有効なエイリアス構成 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index が含まれていません。 ts が存在しません .js フィールド 'browser' に有効なエイリアス構成が含まれていません C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index.js が含まれていません'ディレクトリ C として存在しません:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index が存在しません

私が何を間違えたのか、それともどこかのバグですか?

0 投票する
3 に答える
22857 参照

angular - ng-packagr は、外部モジュールに名前が指定されていませんでした

ng-packagr を使用して 1 つのプロジェクト @my/common-util をパッケージ化する場合、問題はありません。このクラスには、abstract-person.ts に AbstractPerson という抽象クラスが含まれています。

@my/common-impl という別のプロジェクトでは、AbstractPerson を拡張し、@my/common-util パッケージ名を使用してインポートする別の Person クラスが作成されました。ng-packagr を使用してパッケージ化すると、次のエラーが発生します -->

options.globals の外部モジュール '@my/common/abstract-person' に名前が指定されていません - 'abstractPerson' を推測しています

警告のようだったので、引き続き @my/common と @my/common-impl を別のプロジェクトに npm install しますが、 @my/common-impl から Person クラスを import すると以下のエラーが発生します


./node_modules/@my/common-impl/esm5/common-impl.js のエラー モジュールが見つかりません: エラー: 'C:\Data\me\ の '@my/common/abst ract-person' を解決できませんnode_modules\@my\common-impl\e sm5' resolve '@my/common/abstract-person' in 'C:\Data\me\node_modules\@my\common-impl\esm5' 解析されたリクエストは説明を使用するモジュールですファイル: C:\Data\me\node_modules\@my\common-impl\package.json (相対パス: ./esm5) フィールド 'browser' には、記述ファイルを使用した後、有効なエイリアス構成が含まれていません: C:\ Data\me\node_modules\@my\common-impl\package.json (相対パス: ./esm5) モジュールとして解決


外部、グローバル、package.json の umdModuleIds などをいくつか試しましたが (以下を参照)、どれもうまくいきませんでした。

これがpackage.jsonです



これを是正するには、さらに何が必要ですか?

0 投票する
0 に答える
613 参照

node.js - npm packagr はアセットフォルダーをパックしません

OS:Windows10

Angular-CLI の使用

dist私の最終目標は、実行後にフォルダー内に次のファイル構造を含むパッケージをセットアップすることですnpm run packagr

angular-cli.jsonドキュメントに従って、次の設定を行いました。

ドキュメントによると、これはassets/styles私の src ディレクトリ内のフォルダーをターゲットにし、その中のすべてを取得してから、コピーとして dist に送信する必要があります。それはできません。私はこれを何度も繰り返しました。私が欲しいのは dist ディレクトリ内のスタイル フォルダーだけなので、実行npm packするとパッケージに含まれ、アップロードの準備が整います。

パッケージ.json