Добавление материала Angular и использование в рабочей области вызывает ошибку ввода

Я начал с Angular Workspace,

      1. Project 1
2. Project 2
3. SharedLib //The sharedlibrary

вProject1иProject2, я импортировалsharedLib.

В SharedLib я создал компонент сMaterial Button Component.

      @NgModule({
  declarations: [
    HelloComponentComponent
  ],
  imports: [
     CommonModule,
     MatButtonModule
  ],
  exports: [
    HelloComponentComponent
  ]
})
export class SamplesharedlibraryModule { }

HelloComponent.html

Теперь получаю эту ошибку

Ошибка: NG0203: inject() должен вызываться из контекста внедрения, такого как конструктор, фабричная функция, инициализатор поля или функция, используемая сEnvironmentInjector#runInContext. Узнайте больше на https://angular.io/errors/NG0203 .

1 ответ

Возможно, вам не хватает параметра в tsconfig. Зависимости общих библиотек должны быть добавлены как путь в tsconfig приложения-потребителя. В вашем случае либо Project1, либо Project2.

так,

      {
  "paths": {
    "@angular/*": [
      "../.././node_modules/@angular/*"
    ]
  }
}

также у вас должен быть отдельный файл tsconfig для общих библиотек.

Другие вопросы по тегам