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

Angular18项目部署至服务器后图片无法显示求助

Angular 18 部署后public文件夹图片无法加载的解决办法

以下是几个常见的排查和解决方向:

  • 核对部署路径与base标签配置
    如果你的应用部署在服务器的子路径下(比如https://xxx.com/my-app/),直接用img.png这种相对路径会指向域名根目录,自然找不到图片。解决方式:

    1. 在index.html的<base>标签里设置正确的路径:<base href="/my-app/">(替换成你的实际部署子路径)
    2. 或者构建时通过命令指定:ng build --base-href /my-app/
  • 检查文件名大小写
    本地Windows环境不区分文件名大小写,但大多数托管服务器用的是Linux/Unix系统,大小写严格区分。确认public文件夹里的图片文件名(比如是img.png还是Img.png)和代码里的引用路径完全一致。

  • 确认构建后资源是否被正确复制
    打开构建生成的dist目录,看看图片是不是在根目录下。如果没有,检查angular.json里的assets配置,确保public文件夹被正确纳入:

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

    如果需要包含public下的所有子目录和文件,可以写成"src/public/**/*"

  • 改用Angular模板绑定的方式引用图片
    避免直接写静态路径,试试用Angular的属性绑定语法:

    <img [src]="'img.png'">
    

    这种方式Angular会在构建时自动处理路径适配,降低部署路径不匹配的概率。

  • 排查服务器静态资源配置
    部分托管服务器(如Nginx、Apache)需要额外配置才能正确访问静态资源。比如Nginx要确保配置指向dist目录,并且允许访问静态文件:

    location / {
      root /usr/share/nginx/html/your-app-dist;
      try_files $uri $uri/ /index.html;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 09:39:53