このライブラリを移行しようとしています https://github.com/flauc/angular2-notifications from Angular 2+ to Angular = 9。
元のエラーは、ジェネリック型になったModuleWithProviders
に関するものだったので、修正しました。ここにもエラーがありました https://github.com/angular/angular/issues/32352require('@angular/compiler-cli');
で修正しましたが、別のエラーが発生しています:
../node_modules/@angular/common/common.d.ts:115:22-エラーNG6002:SimpleNotificationsModuleのNgModule.importsに表示されますが、NgModuleクラスに解決できませんでした
これまでにライブラリをビルドしたことがないので、何が起こっているのかを理解するのは非常に難しく、gulpを使用したビルドは、この行ngc = require('@angular/compiler-cli/src/main').main
が、パブリックAPI。
編集:
コメントのアイデア(そして私自身の気持ち)に従って、私はガラガラせずにビルドしようとしました:
angular.json
ファイルを作成しましたindex.ts
をpublic_api.ts
とsimple-notifications.module.ts
に分離しかし、私はまだまったく同じエラーを抱えています...
私の試み: https://github.com/youkouleley/angular2-notificationsng build
でこれを構築しようとしましたが、package.json
のスクリプトは更新されていません
私は何がうまくいかないのかを理解しました、Angular 8プロジェクト(ライブラリプロジェクトを含む))がありましたAngular 9にアップグレードしました(libも使用: ng生成ライブラリコア、私は最初に新しいangular 9プロジェクトを作成して、ng 8で作成したプロジェクトとの違いを比較します。欠けているものがあることがわかります。ここに手順を示します。続いて:-node_modulesを削除します-distフォルダーを削除します-Angular 9プロジェクトlibには、tsconfig.lib.prod.jsonという新しいファイルがあります
{
"extends": "./tsconfig.lib.json",
"angularCompilerOptions": {
"enableIvy": false
}
}
{
...
"projects": {
...
"configurations": {
"production": {
"tsConfig": "projects/core/tsconfig.lib.prod.json"
}
}
...
}
}
PS:この場合、ライブラリは「コア」と呼ばれます