vue assets动态引入图片解决打包后图片路径错误不显示的问题

通用:适用于处理单个链接的资源文件

复制代码
import homeIcon from '@/assets/images/home/icon.png'
<img :src="homeIcon" />

webpack 构建的项目

这里我们先假设:

静态文件目录:src/assets/images/

我们的目标静态文件在 src/assets/images/home/icon.png

复制代码
<img :src="require('@/assets/images/home/icon.png')" />

vite 构建的项目

尝试过require动态引入, 发现报错:require is not defind,这是因为 require 是属于 Webpack 的方法

复制代码
<img :src="getAssetsFile('/home/icon.png')" />

const getAssetsFile = (fileUrl) => {
   return new URL(`../assets/images/${fileUrl}`, import.meta.url).href
}

静态资源处理 | Vite 官方中文文档

参考官网

相关推荐
LinXunFeng4 分钟前
Flutter - Melos Pub workspaces 实践
前端·flutter·架构
艾小码7 分钟前
前端人必看!3个技巧让你彻底搞懂JS条件判断与循环
前端·javascript
灵感__idea8 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
向葭奔赴♡8 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo8 小时前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel8 小时前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld8 小时前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel9 小时前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi9 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_4569042710 小时前
C# 中的回调函数
java·前端·c#