angular ライブラリ プロジェクトを作成しようとしていますが、コンソールにこのエラーが表示されます
Uncaught TypeError: Cannot read property 'id' of undefined
at registerNgModuleType (core.js:34470)
at core.js:34488
at Array.forEach (<anonymous>)
at registerNgModuleType (core.js:34484)
at new NgModuleFactory$1 (core.js:34651)
at compileNgModuleFactory__POST_R3__ (core.js:40286)
at PlatformRef.bootstrapModule (core.js:40609)
at Module../src/main.ts (main.ts:11)
at __webpack_require__ (bootstrap:79)
at Object.0 (main.ts:12)
で新しいAngularプロジェクトを作成しng new --enable-ivy
、ライブラリを追加しましたng g library my-lib
。私のライブラリにはモジュール(以下)を含むセカンダリエンドポイントがあるため、インポートは次のようになりますimport { MyLibModule } from 'my-lib/secondary';
@NgModule({
imports: [
CommonModule
],
declarations: [
MyLibDirective
],
exports: [
MyLibDirective
]
})
export class MyLibModule {
public static forRoot(): ModuleWithProviders {
return {
ngModule: MyLibModule,
providers: []
};
}
}
私はこれを使用してng build my-lib
これをビルドし、すべてが正常にビルドされ、リンクを使用してライブラリをデモ アプリに含め、実行するライブラリの dist フォルダーと実行yarn link
するルート デモ アプリ フォルダーに入れyarn link my-lib
、モジュールをインポートに含めますのAppModule
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyLibModule } from 'my-lib/secondary';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
MyLibModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
ただし、実行yarn start
またはng serve
すべてが正常にビルドされると、コンソールに上記のエラーが表示され、ブラウザーでこれをデバッグするとngModuleDef
、ライブラリ モジュールのプロパティが存在しないように見えますが、なぜこれが起こるのか知っていますか?
注: Ivy をオフにしても問題ありませんが、間もなく ng9 が登場するため、これは実際には実行可能な解決策ではありません。ライブラリで何が間違っていたのか (もしあれば) を知りたいです。
からの出力ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 8.3.21
Node: 12.12.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.803.21
@angular-devkit/build-angular 0.803.21
@angular-devkit/build-ng-packagr 0.803.21
@angular-devkit/build-optimizer 0.803.21
@angular-devkit/build-webpack 0.803.21
@angular-devkit/core 8.3.21
@angular-devkit/schematics 8.3.21
@angular/cli 8.3.21
@ngtools/webpack 8.3.21
@schematics/angular 8.3.21
@schematics/update 0.803.21
ng-packagr 5.7.1
rxjs 6.5.4
typescript 3.5.3
webpack 4.39.2