4

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
4

1 に答える 1