【问题标题】:Load Images in Angular + Cordova App在 Angular + Cordova 应用程序中加载图像
【发布时间】:2026-01-09 08:55:02
【问题描述】:

我的 Angular 5 应用程序与 Cordova 一起工作。唯一的问题是图像没有加载。我指定的路径如下所示:

/assets/img/logo.png

我将这些路径用于图像:

<img class="logo-img" src="/assets/img/logo.png">

以及样式内部:

background: url(/assets/img/success-backg.png) no-repeat center center;

这发生在 Android 和 iOS 版本中。

有什么建议吗?

【问题讨论】:

  • 您确定可以使用绝对网址吗?尝试改用../ 表示法
  • 检查你的cordova build staging文件夹是否有www/assets
  • @FrancoScarpa 谢谢,会试一试。不过,我希望 Cordova 做到这一点,根据目标平台的要求进行更改
  • @bhantol 是的,里面有 assets 文件夹

标签: angular cordova cordova-plugins cordova-android


【解决方案1】:

我通过替换“/assets/..”解决了这个问题。与'./assets/...'。我在使用相对路径构建 sass 文件时遇到问题,目前必须在输出文件中进行替换(在 ng build --prod 之后)。可能 Angular CLI 也有一些选项来处理这个问题。

【讨论】:

  • 相对路径很久以前由 CLI 处理。但最近在 1.6.4 中解决了一个关于相对路径的错误,如果您不是最新的,可能会对您的情况有所帮助。
  • 对于资产内部的路径,请使用可变行,这里有很棒的例子
  • 最新版本,昨天安装...这是修复 - 谢谢!
【解决方案2】:

index.html:

对应用中资源的任何非绝对引用,您都应在路径中添加“./”,例如

src="**./**assets/images/logo.jpg'

【讨论】: