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

Vue项目中v-img无法加载本地assets文件夹图片的问题排查

Vue项目中v-img无法加载本地assets文件夹图片的问题排查

看起来你遇到了Vue项目里本地图片加载失败的问题,我来帮你梳理排查一下~

从你提供的代码和网络错误信息来看,最后两张本地图片请求返回404,核心原因是Webpack没有正确解析你写的@/assets/...路径,导致浏览器直接请求了带@的原始路径,而这个路径在服务器上是不存在的。下面是具体的排查和解决方法:

一、为什么会出现这个问题?

Vue项目里的@是指向src文件夹的别名,但这个别名只有在Webpack处理模块的时候才会生效。你把本地图片路径直接写成字符串放在data里时,Webpack会把它当作普通文本,不会进行路径解析和资源打包,所以浏览器就会直接请求http://localhost:8082/@/assets/images/figma3d.png这个不存在的地址,导致404。

二、具体解决方法

方法1:用require()包裹本地图片路径

修改你data里的图片路径,用require()把本地资源当作模块引入,这样Webpack就会自动处理路径并打包资源:

projects: [
  // ... 其他项目
  {
    name: "3D Demo 1",
    // ... 其他字段
    image: require("@/assets/images/figma3d.png"),
  },
  {
    name: "Covid Tracker",
    // ... 其他字段
    image: require("@/assets/images/covid_tracker.png"),
  },
]

方法2:提前用import导入图片资源

也可以在script开头先导入本地图片,再在data里使用导入的变量:

<script>
import figma3dImg from '@/assets/images/figma3d.png'
import covidTrackerImg from '@/assets/images/covid_tracker.png'

export default {
  name: "Projects",
  data() {
    return {
      projects: [
        // ... 其他项目
        {
          name: "3D Demo 1",
          // ... 其他字段
          image: figma3dImg,
        },
        {
          name: "Covid Tracker",
          // ... 其他字段
          image: covidTrackerImg,
        },
      ],
    };
  },
};
</script>

三、额外检查项(可选)

如果你用的不是Vue CLI默认生成的项目,可能需要确认vue.config.js里是否正确配置了@别名,确保Webpack能识别这个路径:

const path = require('path')

module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src')
      }
    }
  }
}

修改完成后重启项目,你应该就能看到最后两张图片正常加载了~

备注:内容来源于stack exchange,提问作者thefonso

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:18:14