Если вы хотите использовать компоненты Angular Material внутри ваших компонентов библиотеки, вы должны сделать то же самое, что и в обычном приложении Angular.Это означает, что вы должны импортировать использованные модули Angular Material в библиотечный модуль (и / или его дочерние функциональные модули):
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { MatDialogModule, MatExpansionModule, MatIconModule } from '@angular/material';
import { LibraryComponent } from './library.component';
@NgModule({
imports: [
CommonModule,
MatDialogModule,
MatExpansionModule,
MatIconModule,
],
exports: [
LibraryComponent,
],
declarations: [
LibraryComponent
]
})
export class LibraryModule { }
Вы также можете создать пользовательский модуль, который содержит все используемые модули Angular Material иимпортируйте это в другие модули (как описано во втором блоке кода этого шага: https://material.angular.io/guide/getting-started#step-3-import-the-component-modules).
И как уже описано в комментариях: вам не нужно импортировать BrowserAnimationsModule
, но проект, использующий вашбиблиотека должна импортировать его.
Важно, чтобы вы определили @angular/material
как peerDependency
в файле package.json
библиотеки.