vue中使用相对路径图片不显示

因为webpack问题,webpack打包会将静态资源放在一个webpack创建的Img文件夹中,并且图片名字还会被更改

我的文件目录是没有Img文件夹的,且图片名字没有那串乱字符

  1. 路径问题:

    • Vue 项目通常会将资源文件放在 src/assets 目录下,并通过 webpack 来处理资源路径。
    • 在你的代码中,第一张图片 ./banner1.jpg 的路径是相对的,而第二张图片的路径是 ./html/hanjiang/hanjiang/src/assets/banner2.jpg,这个路径看起来比较复杂,可能不符合项目的文件结构或配置。

    解决方法:

    • 确保图片 banner2.jpg 确实存在于指定路径中。

    • 更改第二张图片的路径为相对 src/assets 的路径。例如,如果 banner2.jpg 存在于 src/assets 目录下,可以使用 require 来引入:

      复制代码

      javascript
      bannerImg: [require('@/assets/banner1.jpg'), require('@/assets/banner2.jpg')] 使用 @/assets 是指从 src/assets 开始的路径。

  2. 资源处理配置:

    • Vue CLI 默认配置下,静态资源的路径通常需要使用 requireimport 语句来正确处理。直接使用字符串路径可能导致路径解析错误。

    解决方法:

    • 使用 require 语法确保图片路径正确:

      复制代码

      javascript
      data: function () { return { bannerImg: [require('@/assets/banner1.jpg'), require('@/assets/banner2.jpg')] } } 这样可以确保 webpack 能够正确处理图片路径。

  3. 图片加载问题:

    • 如果图片文件存在,但路径不正确,可能会导致图片无法加载。确保路径是正确的,并且图片文件确实在项目的 src/assets 目录或相对位置中。
  4. 缓存问题:

    • 有时浏览器缓存可能会导致图片无法正确加载。可以尝试清除浏览器缓存或在路径后添加查询字符串来强制刷新:

      复制代码

      <img :src="bannerImg[0] + '?v=1'" alt="" style="width: 1200px;">

相关推荐
AI浩7 小时前
【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
运维·服务器·前端
涔溪7 小时前
CSS 网格布局(Grid Layout)核心概念、基础语法、常用属性、实战示例和进阶技巧全面讲解
前端·css
2401_878454537 小时前
浏览器工作原理
前端·javascript
西陵7 小时前
为什么说 AI 赋能前端开发,已经不是选择题,而是必然趋势?
前端·架构·ai编程
by__csdn8 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
天天扭码9 小时前
前端如何实现RAG?一文带你速通,使用RAG实现长期记忆
前端·node.js·ai编程
一条可有可无的咸鱼9 小时前
企业招聘信息,企业资讯进行公示
java·vue.js·spring boot·uni-app
Luna-player9 小时前
在前端中,<a> 标签的 href=“javascript:;“ 这个是什么意思
开发语言·前端·javascript
lionliu05199 小时前
js的扩展运算符的理解
前端·javascript·vue.js
小草cys9 小时前
项目7-七彩天气app任务7.4.2“关于”弹窗
开发语言·前端·javascript