如何使用Typescript获取文件夹中的所有文件名? 这是一个有角度的2项目。
更具体地说,我尝试做的是使用照片文件夹中的图像设置引导轮播的图像。目前我正在这样做:
resolve: (root, params, { SECRET }) => {
return new Promise(resolve => {
User.findOne({email: params.data.email}).exec().then(user => {
bcrypt.compare(params.data.password, user.password, (err, authorized) => {
if (!authorized) throw new Error('Invalid password');
var token = jwt.sign({
user: _.pick(user, ['_id', 'name'])
}, SECRET, {expiresIn: '1y'});
resolve(token);
});
});
}).then(token => token);
}
然后在html文件中使用images数组,如下所示:
private _images: Image[] = []
ngOnInit(): void {
this._images = [
{ "title": "Slide 1", "url": "../photos/carousel/gg_slide 1.jpg" },
{ "title": "Slide 2", "url": "../photos/carousel/gg_slide 2.jpg" },
{ "title": "Slide 3", "url": "../photos/carousel/gg_slide 3.jpg" },
{ "title": "Slide 4", "url": "../photos/carousel/gg_slide 4.jpg" },
{ "title": "Slide 5", "url": "../photos/carousel/gg_slide 5.jpg" }
]
}//ngOnInit
我希望能够遍历照片文件夹中的所有文件,并将它们添加到图像数组中。 这样我只需要更新照片文件夹中的照片即可。
答案 0 :(得分:0)
我无法找到使用Javascript的解决方案。看来JS没有读取文件结构的能力。取而代之的是,您将必须在数据库的后端保留一个列表,或者创建一个json文件,以使其手动更新所有图标。
因为从assets
文件夹访问文件很容易,所以我们可以利用它
,并且可以在图标icons.json
中存储图标文件名称的数组。
1。在icons.json
文件夹中创建assets
,如下所示-
{ // ---------- icons.json---------
"icons-array" : ["icon-name1", "icon-name2", "icon-name3"]
}
2。。将icon-name1.svg
,icon-name2.svg
,icon-name3.svg
文件保存在assets/icons
文件夹中。
3。。在角度应用程序启动时读取icons-json
文件。
How to read file at Angular Application Start-up
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
文件夹中,然后icons.json
文件夹中的assets
文件中添加新文件名。