tltr: могу ли я получить доступ к каталогу ресурсов из angular?
У меня есть набор SVG в папке src/assets/icons
, которую я использую с mat-icon
.Единственный недостаток - когда я добавляю новую иконку, мне нужно добавить файл, и мне нужно добавить имя файла в массив, который я использую для циклического добавления для добавления его к matIconRegistry
.Есть ли способ просто прочитать все файлы из каталога?
Вот мое текущее решение:
@NgModule()
export class CustomIconModule {
constructor(
private matIconRegistry: MatIconRegistry,
private domSanitizer: DomSanitizer
) {
const icons = [
'icon1', 'icon2',
];
for (const icon of icons) {
this.matIconRegistry.addSvgIconInNamespace(
'my-namespace',
icon,
domSanitizer.bypassSecurityTrustResourceUrl(`./assets/icons/${icon}.svg`)
);
}
}
}
ОБНОВЛЕНИЕ: Я написал скрипт bash, который перебирает файл, генерирует a.TS файл с массивом всех имен файлов и делает git add
.Я запускаю его в git-хуке pre-commitне идеально, но это пока работает.Я хотел бы найти чистое решение JS, хотя.