Angular 库导出失败 class - Angular6

Angular Library failed to export class - Angular6

我创建了一个新的 Angular 6 库。这个库有一个名为 User 的模型:

export class User {
    public id: string;
    public username: string;

    constructor(id: string,
                username: string) {
        this.id = id;
        this.username = username;
    }
}

我正在另一个 angular 应用程序中使用该库,一切正常。但是当我尝试使用模型时:

export class AppComponent {
  public user: User;

  constructor() {
    this.user = new User('1', 'my user');
  }
}

我收到此错误:

Module not found: Error: Can't resolve 'my-lib/lib/models/user.model' in 'C:\my-app\src\app'

智能感知找到了它,但我仍然收到此错误。

应用模块:

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    UserModule,
  ],
  bootstrap: [AppComponent]
})

有人有想法吗?谢谢!

问题是您没有将模型导出到库的外部世界。 为此,我建议使用一个名为 public_api.ts 的附加文件,您可以在其中明确导出模型。 将它直接放入您的库的根目录 my-lib.

然后,用显式导出填充文件,如下所示:

export * from './lib/models/user.model'

应该可以了。