Anglar 9 +でNPMリンクを使用する
角度ライブラリを構築するとき、' NPMリンク'ライブラリとアプリケーション間のフィードバックループを短縮することができます.ただし、単にライブラリをビルドしてリンクすると、プロジェクトが起動したときにエラーがスローされます.これは、アプリケーションがIvyモードでコンパイルされているため、依存関係のリンクライブラリは、Ivyモードでもコンパイルする必要があります.
以下に解決策を示します.は
は、
あなたのパッケージを更新します.以下のコマンドに簡単にアクセスできるJSON :
NPMのビルドビルドを実行します.これは、Ivy互換ライブラリを構築します. は、 を走らせますは、 を走らせます
プロジェクトでは、ライブラリにリンクする 今、図書館はプロジェクトにリンクされています.
ボーナスチップ:ライブラリがすべてのコード変更で再構築されるように、NPMラン
以下に解決策を示します.
tsconfig.lib.ivy.json
に新しいproject/PROJECT_NAME
を作成します.これにより、ライブラリビルドがIvyを使用しない間、Ivyビューエンジンがプロジェクトをコンパイルするのに使用されます.{
"extends": "./tsconfig.lib.json",
"angularCompilerOptions": {
"enableIvy": true
}
}
ライブラリのangular.json
のivy
の下で新しい構成project->PROJECT_NAME->architect->build
を加えます....
"configurations": {
"production": {
"tsConfig": "projects/PROJECT_NAME/tsconfig.lib.prod.json"
},
"ivy": {
"tsConfig": "projects/PROJECT_NAME/tsconfig.lib.ivy.json"
}
}
"scripts": {
...
"build:ivy": "ng build PROJECT_NAME --configuration=ivy"
}
cd dist/PROJECT_NAME
npm link
プロジェクトで
npm link LIBRARY_NAME
を実行します.ボーナスチップ:ライブラリがすべてのコード変更で再構築されるように、NPMラン
build:ivy -- --watch
を実行してください.Reference
この問題について(Anglar 9 +でNPMリンクを使用する), 我々は、より多くの情報をここで見つけました https://dev.to/dontry/using-npm-link-in-angular9-11ieテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol