Angular Library не удалось экспортировать класс - Angular6 - PullRequest
0 голосов
/ 23 ноября 2018

Я создал новую библиотеку Angular 6.В этой библиотеке есть модель с именем User:

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

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

Я использую библиотеку в другом угловом приложении, все работает нормально.Но когда я пытаюсь использовать модель:

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'

Intellisense обнаружил ее, но я все еще получаю эту ошибку.

AppModule:

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

у кого-нибудь есть идея?Спасибо!

1 Ответ

0 голосов
/ 23 ноября 2018

Проблема в том, что вы не экспортировали модель во внешний мир вашей библиотеки.Для этого я предлагаю дополнительный файл с именем public_api.ts, в который вы явно экспортируете модель.Поместите его прямо в корень вашей библиотеки my-lib.

Затем заполните файл явным экспортом, например так:

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

Это должно сделать это.

...