问题描述
这是数据库字段为 ./../../assets/image/elites/gaoyan.jpg 时候的src
这是数据库字段为 require("./../../assets/image/elites/gaoyan.jpg") 时候的s'r'c
两者都不能正常显示图片
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
//能正常显示的
<div>
<img src="./../../assets/image/elites/gaoyan.jpg" alt="">
</div>
//换成动态的就不行了
<div>
<img :src="imgSrc" alt="">
</div>
data() {
return {
imgSrc: ''
}
},
created () {
this.$axios.get('xxxx').then(
response => {
this.imgSrc= response.data.img_src;
console.log(this.imgSrc);
}
).catch(
error => {
console.log(error);
}
)
}
//数据库img_src字段存的是 这个 require("./../../assets/image/elites/gaoyan.jpg")
或这个 ./../../assets/image/elites/gaoyan.jpg 都不行
你期待的结果是什么?实际看到的错误信息又是什么?
希望大佬可以帮忙解决下图片显示的问题
1.
/assets
目录下的资源本身会被转义成base64并打包到/dist/app.js
中,所以不能使用相对路径;2.使用
require
访问图片也是在编译时生效的操作,后端返回后再使用require
操作是无效的;所以可以把静态并且不想被编译的资源放到
/static
目录下,/static
目录默认会被复制到构建后的/dist
文件夹下,相对路径可以使用;但是建议数据库存储绝对路径,否则资源位置改变还要改变数据库数据是不合理的。