[英]How to fetch a list of all svg files from an angular application directory?
我想在Angular 4应用程序的特定文件夹中获取所有.svg
文件的列表。 因此,我已经通过以下方式在我的angular-cli.json
文件中声明了该文件夹
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"favicon.ico",
"assets",
{
"glob": "**/*.svg",
"input": "../node_modules/..../assets/images",
"output": "./assets/images"
}
],
"index": "index.html",
"main": "ma...
现在如何读取./assets/images
目录中所有.png
文件的列表?
该列表应加载到标准角度组件内。 之后,我想使用简单的for循环遍历列表。 如果你们中的某些人可以告诉我如何获取列表,我可以自己完成最后一部分。
编辑
目录的内容看起来像这样
images
|--file_1.svg
|--file_2.svg
|--file_3.svg
└--file_4.svg
如果我尝试访问URL HOST:PORT / assets / images / file_1.svg,则图像显示正确,但是如果我尝试使用HOST:PORT / assets / images列出目录的所有文件,则会出现HTTP 404
。
这是我组件的构造函数:
constructor(private http: Http) {
this.http.get('./assets/images').subscribe(res => console.log(res));
}
我已尽力找到解决方案,但是由于Javascript无法访问文件结构,因此似乎无法实现。 我能找到的最佳解决方案是在json中创建图标列表,请求文件,然后将内容存储给以后的用户。
由于从assets
文件夹访问文件很容易,因此我们可以利用它
我们可以在图标icons.json
文件中存储图标文件名称的数组。
1.在assets
文件夹中创建以下icons.json
:
{ // ---------- icons.json---------
"icons-array" : ["icon-name1", "icon-name2", "icon-name3"]
}
2.将icon-name1.svg
, icon-name2.svg
, icon-name3.svg
文件icon-name3.svg
在assets/icons
文件夹中。
3.在angular应用程序启动时读取icons-json
文件。
如何在Angular应用程序启动时读取文件
4.读取icons.json
内容后,将icons-array
属性的值存储到全局可访问数组中,例如globalAccessibleIconsArray
。
5.并将数组用作-
for (const icon of globalAccessibleIconsArray) {
this.matIconRegistry.addSvgIconInNamespace(
'my-namespace',
icon,
domSanitizer.bypassSecurityTrustResourceUrl(`./assets/icons/${icon}.svg`)
);
}
因此,对于添加新图标
assets/icon
文件夹中,然后 assets
文件夹中存在的icons.json
文件中添加新文件名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.