You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中assets子文件夹图片无法加载问题求助

问题解答

这不是Angular的预期行为,是你的assets配置和模板中的文件路径不匹配导致的。

原因分析

当你在angular.json中配置"src/assets/images"作为assets项时,Angular会把这个文件夹下的所有内容直接复制到构建输出目录的根目录(比如dist/your-project/),而不是嵌套在assets/目录下。这时候模板里的assets/images/image-card.png路径就找不到文件了——因为实际文件路径是/images/image-card.png。

解决方法

有两种方式可以修复这个问题,同时支持按文件夹分类管理资源:

方法1:配置整个assets目录(推荐)

修改angular.json的assets配置,把整个src/assets目录加入:

"assets": [
  "src/favicon.ico",
  "src/assets"
],

这样Angular会完整复制src/assets目录及其所有子文件夹到输出目录,模板中的assets/images/image-card.png路径就能正确指向文件,同时你可以在assets下创建images、videos、docs等子文件夹分类管理资源,路径按assets/[folder]/[file]的方式引用即可。

方法2:单独配置子文件夹并调整访问路径

如果只想单独配置src/assets/images,需要把模板中的图片路径改为根路径下的images/:

<img src="/images/image-card.png" />

这种方式下,你也可以继续创建其他子文件夹(比如src/assets/videos),并在angular.json中添加对应的配置项:

"assets": [
  "src/favicon.ico",
  "src/assets/images",
  "src/assets/videos"
],

对应的视频文件路径就写成/videos/xxx.mp4。

关于分类管理

完全可以按文件夹分类管理不同类型的资源,只要保证:

  • angular.json的assets配置包含对应的文件夹(要么配置整个src/assets,要么逐个添加子文件夹)
  • 模板中的资源路径和构建后的实际文件位置一致

内容的提问来源于stack exchange,提问作者Richard77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 21:10:40