vue3引入动态图片
文章目录背景原因解决方案1. 放到`public`目录下,使用绝对路径(`不适用动态情况`)2. 使用`import`导入(`适用于单个`)3. `new URL() + import.meta.url` (`支持多个,推荐`)官网背景img的src属性使用动态的时候,本地正常,部署到服务器上异常<img :src="image" v-for="image in urls" />原因如
·
文章目录
背景
img的src属性使用动态的时候,本地正常,部署到服务器上异常
<img :src="image" v-for="image in urls" />
原因
如果资源在assets文件夹,打包后会把图片名加上hash值,直接通过:src="image"方式引入并不会在打包的时候解析,导致开发环境可以正常引入,但是打包后却不能正常显示
解决方案
1. 放到public目录下,使用绝对路径(不适用动态情况)
<!-- public/images/logo.png -->
<img src="/images/logo.png" />
2. 使用import导入(适用于单个)
import homeIcon from '@/assets/images/home/home_icon.png'
<img :src="homeIcon" />
3. new URL() + import.meta.url (支持多个,推荐)
// 获取assets静态资源
export const getAssetsFile = (url: string) => {
return new URL(`../assets/images/${url}`, import.meta.url).href;
};
import {getAssetsFile} from '@/util/public-use'
// 可以包含文件路径
<img :src="getAssetsFile('/home/home_icon.png')" />
- 背景图片引入方式
.imgText {
background-image: url("../../assets/images/1462466500644.jpg");
}
一定要使用相对路径,生产环境会自动加上hash
使用绝对路径会导致开发正常,但是生产异常
官网
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)