【发布时间】:2020-08-04 20:05:11
【问题描述】:
我在 2.6.11 版本中使用 VueJS,vue-material 1.0.0-beta-11。
我已经通过互联网阅读了有关通过 vue-loader 等将图像加载到 Vue 中的信息,但这些都没有帮助。
<md-card-media md-ratio="4:3">
<img :src="getImgUrl(muscle.name)" alt="Skyscraper">
</md-card-media>
这是我应该呈现图像的 HTML 元素。
getImgUrl 是这样定义的:
methods: {
getImgUrl: imgName => {
let urlName = imgName.replace(/\s/g, '')
return require(`@/assets/images/${urlName}.png`)
}
}
上面代码的结果:
<img src="data:image/png;base64,dmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zCnZhc...truncatedForReadibility" alt="Skyscraper" crossorigin="Anonymous">
vue.config.js
module.exports = {
publicPath: '/siluets/',
configureWebpack: {
module: {
rules: [
{
test: /\.(png|jpe?g|gif)$/i,
loader: 'vue-loader',
options: {
esModule: false,
},
},
],
}
}
}
浏览器未显示任何图像。我自己也想不通
【问题讨论】:
-
请提供您的
webpack.config.js或vue.config.js -
我不建议在模板内容中使用方法;他们每刻都跑。尝试改用计算属性
-
@Ashish 编辑后提供
-
您确定您查看的是正确的元素吗?我问你的来源没有
crossorigin属性 -
为什么要使用 vue-loader 来处理图片?你为什么要添加这条规则? Webpack 默认配置为通过
url-loader/file-loader加载图片
标签: javascript vue.js