无法在 Vue 中加载图像

Posted

技术标签:

【中文标题】无法在 Vue 中加载图像【英文标题】:Can't get image to load in Vue 【发布时间】:2020-01-20 01:42:02 【问题描述】:

无法使用 Vue 加载简单的图像文件(使用扩展名为 .vue 的单文件组件)。这是我放在模板中的代码:

<div><a href=""><img :src="london.jpg"></a></div>

我做错了什么?

【问题讨论】:

您没有使用可绑定的值,所以不要使用绑定。将:src 更改为src 还是不行 你遇到了什么错误? 这是一个非常模糊的问题描述。 london.jpg 文件是否存在于相对于该组件的给定位置?见cli.vuejs.org/guide/… 在您的文件中,这个.vue 组件的位置是什么? london.jpg 文件的位置是什么? 【参考方案1】:

我习惯把所有图片都放到public文件夹中,所以我不需要webpack来加载图片。

图片的路径是'/public/assets/img/london.jpg'

所以,在任何 Vue 组件中,我都可以使用

<div>
   <a href="#">
     <img src="/assets/img/london.jpg" />
   </a>
</div>

【讨论】:

【参考方案2】:

你也可以直接在你的模板中要求。

<div>
    <a href="#">
        <img :src="require(`@/assets/img/london.jpg`)"/>
    </a>
</div>

请注意,@ 是您的 src/ 文件夹。

【讨论】:

【参考方案3】:

绑定属性时,模型或数据类型必须正确。

要绑定:src,必须是字符串或数据模型。

<div> <a href=""><img :src="'london.jpg'"></a></div>

<div> <a href=""><img src="img"></a></div>

export default 
  data () 
    return 
      img: require('london.jpg')
    
  

<div> <a href=""><img :src="img"></a></div>

【讨论】:

我保证最后一个不会起作用,因为捆绑器(例如 Webpack)不会包含图像资产 什么意思? 你应该试试看。 *** 上也有很多关于它的问题 我明白了。我会解决的。 编译失败。 ./rg-comp.vue?vue&type=script&lang=js& (/usr/local/lib/node_modules/@vue/cli-service-global/node_modules/babel-loader/lib??ref--12-0!/usr /local/lib/node_modules/@vue/cli-service-global/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/lib/node_modules/@vue/cli- service-global/node_modules/vue-loader/lib??vue-loader-options!./rg-comp.vue?vue&type=script&lang=js&) Module not found: Error: Can't resolve 'london.jpg' in ' '

以上是关于无法在 Vue 中加载图像的主要内容,如果未能解决你的问题,请参考以下文章

无法在本机反应中加载静态图像

无法在 JavaFX 中加载图像

无法使用设备图像 URL 在设备中加载图像?

无法在 JLabel 中加载图像

发布到 npm 时无法在 Vue 中加载样式

无法在 django 中加载图像