vue中引入图片等静态资源的几种方式

在vue中引入图片等静态资源,由于部署的时候需要打包,打包后文件名字路径不一致,导致显示不了。以下为解决的几种方式:

1.样式直接引入: 

复制代码
 <div class="imgItem">
    <div class="imgLogo"></div>
</div>


.imgLogo {
    width: 100px;
    height: 100px;
    background: url('/@/assets/logo.png');
    background-size: cover;
}
复制代码

2.作为变量引入

<div class="imgItem">
   <div :style="{ backgroundImage: `url(${importLogo})` }" class="imgLogos"></div>
</div>

a.

import Logo from '/@/assets/logo.png'
  const importLogo = ref(Logo)

b.文件需要放在public文件夹

const importLogo3 = ref('/scene.jpg')

c.

onMounted(() => {
    import('/@/assets/logo.png').then((res) => {
        importLogo4.value = res.default
    })
})

d.

onMounted(() => {
    importLogo5.value = new URL('../assets/logo.png',import.meta.url)
})

 代码地址:https://gitee.com/yuexiayunsheng/vue3learn/blob/master/src/views/ImportImg.vue

posted @   月下云生  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示