vue v-for中img图片渲染不出来的解决过程

 更新时间:2026年07月02日 09:10:55   作者:jjw_zyfx  
这段描述主要讲解了在Vue项目中三种显示图片的方法,包括在public目录下创建image文件夹、将public中的image文件夹复制到assets目录以及使用require或import导入图片,并详细描述了每种方法的具体步骤和注意事项

1、首先创建一个Vue项目

如下所示:

(base) jjw@jjwdeMacBook-Pro 程序 % vue create hello_world


Vue CLI v5.0.8
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, Router, Vuex
? Choose a version of Vue.js that you want to start the project with 2.x
? Use history mode for router? (Requires proper server setup for index fallback 
in production) No
? Where do you prefer placing config for Babel, ESLint, etc.? In package.json
? Save this as a preset for future projects? No


Vue CLI v5.0.8
✨  Creating project in /Users/jjw/Desktop/软著/软著二/程序/hello_world.
🗃  Initializing git repository...
⚙️  Installing CLI plugins. This might take a while...


added 829 packages in 41s
🚀  Invoking generators...
📦  Installing additional dependencies...


added 7 packages in 2s
⚓  Running completion hooks...

📄  Generating README.md...

🎉  Successfully created project hello_world.
👉  Get started with the following commands:

 $ cd hello_world
 $ npm run serve

然后进入cd hello_world 并运行npm run serve

2、打开App.vue 将其他无用的都删除

复制下边代码即可

<template>
  <div id="app">
    <div v-for="(item, index) in image_list" :key="index">
      <img style="width: 200px" :src="item" alt="">
    </div>
  </div>
</template>
<script>
export default {

  data() {
    return {
      image_list:['/image/1.jpg','/image/1.jpg','/image/1.jpg']
    }
  }
}
</script>

3、第一种方式

在public目录下创建一个image目录,并在image目录下放上一张图片

如下图所示:

保存后再打开浏览器就可以发现图片能显示出来如下图:

4、第二种方式

将public中的image文件夹复制一份放到assets目录下如图所示:标记1

将App.vue中的image_list中的图片路径改成如下形式

image_list:['./assets/image/1.jpg','./assets/image/1.jpg','./assets/image/1.jpg']

打开浏览器并打开调试界面后发现图片显示不出来,而且出现了报错现象

解决方法如下:

在vue.config.js中添加如下内容:标记2

const { defineConfig } = require('@vue/cli-service')  // 这个是创建时就存在的
const path = require('path')  // 这个是需要添加的

module.exports = defineConfig({
  transpileDependencies: true,  // 创建时就存在
  devServer: {  // 下边这些都是需要添加的
    open: false, //是否自动弹出浏览器页面
    host: '0.0.0.0',
    port: '8000',
    https: false,
    hot: 'only',
    historyApiFallback: true,
    static: { // static: ['assets']
      directory: path.join(__dirname, 'src')
    }
  }
})
 

添加完上述内容后再次打开浏览器发现图片能正常显示了

5、第三种方法

这种方法是使用require或者import 如果是做了第四步则只需保留标记1到2中的内容再略做修改,

修改点如下:

打开浏览器后会发现只显示两张图片,第三张图片显示出错,如下图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 渲染函数 & JSX详情

    渲染函数 & JSX详情

    本篇文章来讲解渲染函数 & JSX,Vue 推荐在绝大多数情况下使用模板来创建你的 HTML。然而在一些场景中,你真的需要 JavaScript 的完全编程的能力。这时我们可以用渲染函数,它比模板更接近编译器,需要的朋友可以参考一下
    2021-09-09
  • Vue3中的setup执行时机与注意点说明

    Vue3中的setup执行时机与注意点说明

    这篇文章主要介绍了Vue3中的setup执行时机与注意点说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Vue配置文件中的proxy配置方式详解

    Vue配置文件中的proxy配置方式详解

    今天被vue中proxy配置困扰了一天,记录一下,下面这篇文章主要给大家介绍了关于Vue配置文件中的proxy配置方式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • TypeScript在vue中的使用解读

    TypeScript在vue中的使用解读

    这篇文章主要介绍了TypeScript在vue中的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • vue设置必填项和判断必填项是否填入的弹窗提示

    vue设置必填项和判断必填项是否填入的弹窗提示

    表格判断在很多项目中都用得到,本文主要介绍了vue设置必填项和判断必填项是否填入的弹窗提示,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Vue解决element-ui消息提示$message重叠问题

    Vue解决element-ui消息提示$message重叠问题

    这篇文章主要为大家介绍了Vue解决element-ui消息提示$message重叠问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 使用vue构建移动应用实战代码

    使用vue构建移动应用实战代码

    本篇文章主要介绍了使用vue构建移动应用实战代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • element中el-autocomplete的常见用法示例

    element中el-autocomplete的常见用法示例

    这篇文章主要给大家介绍了关于element中el-autocomplete的常见用法的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用element具有一定的参考学习价值,需要的朋友可以参考下
    2023-03-03
  • vue实例中data使用return包裹的方法

    vue实例中data使用return包裹的方法

    今天小编就为大家分享一篇vue实例中data使用return包裹的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue template中slot-scope/scope的使用方法

    vue template中slot-scope/scope的使用方法

    今天小编就为大家分享一篇vue template中slot-scope/scope的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论