Vue3 动态引入图片: require is not defined报错

问题:在 Vue3 项目中,使用 require 引入图片,报错 require is not defined

原因: Vue3 使用的是 vite,而 require 是 Webpack 的方法。

官网说明:

解决代码:

javascript 复制代码
<template>
	<div v-for="(item, index) in list" class="list-item">
		<img :src="getAssetURL(item)" alt=""> 
	</div>
</template>

<script setup>
  import { ref } from 'vue'
  const list = ref([
    {
      sex: '男',
      name: '张小白',
      type: '成人'
    },
    {
      sex: '女',
      name: '张小白',
      type: '成人'
    }
  ])

  const getAssetURL = (image) => {
    // 参数一: 相对路径   参数二: 当前路径的URL
    return new URL(`/src/assets/头像${image.type}${image.sex}.png`, import.meta.url).href
  }
</script>
相关推荐
派小心.20 分钟前
DAU和MAU怎么计算?先确定活跃事件、用户键和统计窗口
大数据·服务器·前端·人工智能·数据分析
代码猎人21 分钟前
前端怎么配合后端完成bug修复
前端
叫我铁汁儿吧23 分钟前
JS作用域
前端·面试
定栓24 分钟前
Webpack迁到Vite第七节(四):全家桶移除 — 保留项、脚本与数据收尾
前端·webpack·node.js
代码猎人32 分钟前
前端怎么优化首屏加载速度
前端
代码猎人32 分钟前
前端怎么保障项目稳定上线与运行
前端
数据掘金33 分钟前
小程序埋点方案的埋点文档怎么自动生成?
前端
deli00733 分钟前
cron 表达式为什么总跑错?10 个场景实测,下次执行时间一眼看懂
前端
代码猎人37 分钟前
前端怎么优化页面性能
前端
代码猎人40 分钟前
前端怎么配合后端完成数据对接
前端