angular - Angular:从资产文件夹中读取所有文件
问题描述
tltr:我可以从角度访问资产目录吗?
src/assets/icons
我使用的文件夹中有一堆 SVG 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 脚本,该脚本循环遍历文件,生成一个 .ts 文件,其中包含所有文件名的数组,并执行git add
. 我在预提交 git 挂钩中运行它。不理想,但它现在有点工作。不过,我很想找到一个纯 JS 解决方案。
解决方案
推荐阅读
- gradle - Jacoco nodeps:ClassNotFound com.vladium.emma.rt.RT
- python - Python Selenium Web-Driver 找不到文本元素
- visual-studio-code - VS Code 无法在网络驱动器上打开项目进行定义
- python - 如何将此字符串列表转换为整数
- django - 在Django中查看celery的定时任务
- graphql - 如何在 FaunaDB 中使用 REST API?
- sql - 为什么在过滤掉特定值时会丢失 NULL?
- html - 滚动页面时不能使两条垂直线粘在底部
- python - (已关闭)“ValueError: max() arg is an empty sequence”,即使该序列不为空
- javascript - 为什么我的语音识别功能在填写两个输入时会达到最大值?