vue 动态引入图片地址

Posted mengfangui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 动态引入图片地址相关的知识,希望对你有一定的参考价值。

1、相对路径引入(src下的assets文件夹)

当你在 javascript、CSS 或 *.vue 文件中使用相对路径 (必须以 . 开头) 引用一个静态资源时,该资源将会被包含进入 webpack 的依赖图中。在其编译过程中,所有诸如 <img src="...">background: url(...) 和 CSS @import 的资源 URL 都会被解析为一个模块依赖。

例如,url(./image.png) 会被翻译为 require(‘./image.png‘),而:

<img src="./image.png">

将会被编译到:

h(‘img‘, { attrs: { src: require(‘./image.png‘) }})

 

所以请使用require引入图片地址:

<div
        class="service layout"
        :style="{ backgroundImage: ‘url(‘ + bjPic + ‘)‘ }"
        id="anchor3"
    >
</div>
data() {
        return {
            bjPic: require("../assets/chan-bj.jpg")
        };
    },

 

2、static文件夹引入图片

若从static文件夹引入,不需要使用require,因为static文件夹的文件不会经过file-loader的编译。

 

以上是关于vue 动态引入图片地址的主要内容,如果未能解决你的问题,请参考以下文章

Vue图片路径问题(动态引入:绝对路径相对路径),require动态路径问题

vue怎么判断动态图片没显示就不管

Vue3+TypeScript+Vite如何使用require动态引入类似于图片等静态资源

vue3中引入本地图片

vue的图片路径引用问题解决

vue-cli3项目中解决动态引入图片img404的问题