Добавление материала 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 для общих библиотек.