获取 Angular 资产文件夹中所有 svg 文件的列表

Posted

技术标签:

【中文标题】获取 Angular 资产文件夹中所有 svg 文件的列表【英文标题】:Get list of all svg-files in Angular assets-folder 【发布时间】:2019-05-08 23:19:25 【问题描述】:

我遇到了以下问题。我想在我的 angular-app 中注册我的资产文件夹中的所有 svg 文件。 但我不知道,是否可以通过角度读取整个文件夹内容,因为它是客户端运行的。

有人知道吗?

问候 埃利亚斯

附:作为一种解决方法,我将运行一个部署脚本,它将所有文件写入一个 json 文件,以便我可以从该文件中读取它们。但我不想这样做……

【问题讨论】:

据我所知,在 JSON 文件中维护资产列表是首选方式。 @SureshKumarAriya 谢谢。需要注意的是,我将尝试实现一个预编译脚本,它会创建一个包含所有资产的 JSON 文件。好像没有其他解决方案。 是的。你说的对。除此之外,我们没有任何其他解决方案。 【参考方案1】:

有一些安全原因我们不应该/不能从 javascript 访问本地文件。

在您的情况下,我建议您创建一个 API,并将您的文件存储在后端文件夹中并返回到客户端列表文件。这就是我在项目中所做的方式。

您可以将 ASP.NET Web API 创建为

[Route("listSVGfiles")]
List<string> getSVGfiles() 

 

【讨论】:

以上是关于获取 Angular 资产文件夹中所有 svg 文件的列表的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Angular Material 图标资产路径与 Django 模板集成?

除了 Http/fetch 之外,有没有办法以角度读取放置在资产文件夹下的 svg 文件的内容?

Angular:防止资产文件夹发生更改时自动重新编译

部署iis后未加载Angular svg图像

在 HTML 页面上从 SVG 文件渲染图标

在具有缓存哈希处理的角度模板中注入图像/svg/whatever