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

Vue项目中public目录图片无法显示的解决求助

解决Vue组件中public目录图片无法显示的问题

嘿,我之前也踩过这个坑!Vue项目里public目录的静态资源引用有特定的规则,咱们来一步步搞定这个问题:

核心问题:路径引用错误

Vue的public目录是静态资源的根目录,打包后里面的文件会直接放到项目的根路径下。所以你之前写的./public/images/xxx或者public/images/xxx都是错误的相对路径,Vue会从组件所在目录去查找,自然找不到图片。

正确的解决方案

把图片路径改成以斜杠/开头的绝对路径,直接指向public下的images文件夹,不需要加public前缀:

修改你的data部分代码:

export default {
  data() {
    return {
      items: [
        { name:'first', src:'/images/anubis.png', subtitle: 'Anubis' },
        { name:'second', src:'/images/sarcophagus.png', subtitle: 'Sarcophagus' },
        { name:'third', src:'/images/ra.png', subtitle: 'Ra' },
        { name:'fourth', src:'/images/eye-of-ra.png', subtitle: 'Eyes of Ra' }
      ]
    }
  }
}

关于require()的补充说明

你之前尝试用require()没成功,是因为require()主要用于src/assets目录下的资源(这类资源会被webpack处理),而public目录的资源是直接暴露在根路径的,不需要通过require引入,直接用绝对路径就好。

额外检查点

  • 确认public/images目录确实存在,图片文件名和扩展名没有拼写错误(注意Linux/macOS系统区分大小写)
  • 开发环境下可以打开浏览器控制台,查看图片的请求路径是否正确,如果显示404,再核对路径是否符合上述规则

这样修改后,你的图片应该就能正常显示了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:44:40