【问题标题】:Angular Library failed to export class - Angular6Angular 库无法导出类 - Angular6
【发布时间】:2019-04-26 04:50:11
【问题描述】:

我创建了一个新的 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.tsmy-lib/ 中,在其中export 你想要公开的类。您可以通过为每个要导出的模型添加 export * from './lib/models/user.model 来做到这一点。
  • 完美!它对我有用,谢谢!
  • 太好了,我会尽快准备一个官方答案。我写评论时正在打电话。

标签: model angular6 angular-library


【解决方案1】:

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

然后,像这样使用显式导出填充文件:

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

应该可以的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2019-03-31
    相关资源
    最近更新 更多