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 官方中文文档

参考官网

相关推荐
m0_748254663 分钟前
Vue.js 模板语法基础
前端·vue.js·flutter
PBitW11 分钟前
和AI浅聊了一下SEO —— 真神Astro
前端·seo
胆大如牛白展堂11 分钟前
自动刷新token登录
前端·设计模式
Charon_super11 分钟前
html语法笔记
前端·笔记·html
JeffreyTaiT12 分钟前
根据binlog恢复SQL
前端·mysql
Anita_Sun14 分钟前
Lodash 源码解读与原理分析 - Lodash 静态方法与原型方法
前端
明月_清风15 分钟前
Async/Await:让异步像同步一样简单
前端·javascript
听风说图16 分钟前
从 JavaScript 到 WGSL:用渐变渲染理解 GPU 编程思维
前端
float_六七16 分钟前
CSS行内盒子:30字掌握核心特性
前端·css
倔强的钧仔17 分钟前
拒绝废话!前端开发中最常用的 10 个 ES6 特性(附极简代码)
前端·javascript·面试