推广 热搜: csgo  vue  2023  angelababy  gps  信用卡  新车  htc  落地  控制 

vue项目中,使用require动态加载本地图片报错找不到模块

   2023-07-29 网络整理佚名2990
核心提示:vue项目中,使用动态加载本地图片记录一下工作中遇到的问题:vue中使用(path)加载动态路径报错原因:思考过是不是路径问题,但是直接(_img/water-/menu.png)是可以访问的。不能纯变量路径才知道从哪里开始查找文件后缀,必须要加上,不然会报错不能完全使用变量,前置地址必须是静态地址,否则会报错参考的链接里面还有其他解决方法,不过个人感觉这种比较方便参考链接:

vue项目中,使用动态加载本地图片

记录工作中遇到的问题:vue中使用(path)加载动态路径报错

    <ul class="menu-list">
      <li
        v-for="(item, index) of menuList"
        :key="index"
        :class="['menu-item', activeIndex === index ? 'menu-item-active' : '']"
        @click="handleItemClick(item)"
      >
        <!-- <img :src="require('_img/water-source/menu.png')" alt=""> -->
        <img :src="require(item.src)" alt /> // 报错找不到该模块
        <!-- <img :src="require('_img/' + item.src)" alt=""> -->
        <span>{{ item.title }}{{item.icon}}</span>
      </li>
    </ul>

原因:我想过是否是路径问题,但是直接可以访问(_img/water-/menu.png),自己也想不通,但是浏览了网上的帖子终于找到了问题所在互联网:是预编译打包工具,无法预测未知的变量路径,不能是纯变量路径

解决方案; (path) ,路径至少由三部分组成,目录+文件名+后缀

目录 => 了解从哪里开始搜索

=> 文件后缀,必须添加,否则会报错

文件名 => 可用变量表示

use value.svg = ('@//' + item.svg ) // 变量不能完全使用,前置地址必须是静态地址,否则会报错

完美解决方案!

    <ul class="menu-list">
      <li
        v-for="(item, index) of menuList"
        :key="index"
        :class="['menu-item', activeIndex === index ? 'menu-item-active' : '']"
        @click="handleItemClick(item)"
      >
        <!-- <img :src="require('_img/water-source/menu.png')" alt=""> -->
		<img :src="require('_img/' + item.src)" alt="">
        <span>{{ item.title }}{{item.icon}}</span>
      </li>
    </ul>

参考链接里还有其他解决方案,不过我个人觉得这个更方便

参考链接:

入侵与删除! ! ! ! ! !

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON