Vue2.0学习——动态加载图片src的解决办法

本文介绍了在VUE-CLI项目中如何正确处理静态资源文件,包括assets和static目录的区别,以及如何解决动态加载图片时出现的404问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先先说明下VUE-CLI的资产静态状语从句的两个文件的区别,因为这对你理解后面的解决办法会有所帮助。

assets在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如<img src =“./ logo.png”>和background:url(./ logo.png),“ ./logo.png“是相对资源路径,将有webpack解析为模块依赖。

static在这个目录下文件不会被webpack处理,简单就是说存放第三方文件的地方,不会被webpack解析。他会直接被复制到最终的打包目录(默认是dist / static)下。必须使用绝对路径引用这些文件,这是通过config.js文件中的build.assetsPublic和build.assertsSubDirectory链接来确定的任何放在静态/中文件需要以绝对路径的形式引用:/静态[文件名] 

根据的WebPack的特性,总的来说就是静电放不会变动的,第三档的文件,声称放可能会变动的文件。

问题来了,用JS动态加载的资产或者本文件的图片出现404的状态码

<li v-for =“(item,index)in images”:key =“index”>
<img:src =“item.src”> </ li>
// JS部分
数据(){
  返回{
    图像:[{SRC: './ 1.png'},{./ 2.png}]
  }
}

跑起来发现图片不显示,错误码为404, 

原因:在webpack中会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法解析图片地址,然后npm运行dev或者npm运行构建之后导致路径没有被加工【被webpack解析到的路径都会被解析为/static/img/[filename].png,完整地址为本地主机:8080 /静态/ IMG / [文件名] .PNG】 

解决办法:

①将图片作为模块加载进去,比如图像:[{SRC:要求( './ 1.png ')},{SRC:要求(' ./ 2.png')}]这样的WebPack就能将其解析。

②将图片放到静态目录下,但必须写成绝对路径如图片:[{SRC:” /静态/ 1.png”},{SRC:” /静态/ 2.png”}]这样图片也会显示出来,当然你也可以通过在webpack.base.config.js定义来缩短路径的书写长度。


当然你说当本地图片太多时,这样写岂不是很麻烦,那么其实我们是一这样简化操作的。

第一步:在静态里面新建一个JSON夹数文件  第二部:填写JSON文件,如图产品  第三部:将JSON引入响应的VUE文件中,解析引用就行了 
   新建JSON文件 

  填写JSON文件 

  引入JSON

### 创建 Vue 2.0 项目的逐步指南 #### 安装 Node.js 和 npm 为了构建基于 Vue 的应用程序,Node.js 是必需的环境之一。安装最新版本的 Node.js 将自动附带 npm (Node Package Manager),这是用于管理 JavaScript 库和工具的重要软件包管理系统。 #### 初始化项目结构 在命令行界面中创建一个新的文件夹作为工作空间并进入该目录: ```bash mkdir my-vue-app && cd my-vue-app ``` 初始化 Git 版本控制系统(如果需要): ```bash git init ``` 设置初始 NPM 包配置文件 `package.json` : ```bash npm init -y ``` 这会生成一个默认的 `package.json` 文件来记录依赖项和其他元数据信息。 #### 安装 Vue CLI 工具 Vue 提供了一个官方命令行接口——Vue CLI 来简化开发流程。通过执行下面这条指令可以全局安装它: ```bash npm install --global @vue/cli@3.x ``` 注意这里指定了特定版本号以确保兼容性[^1]。 #### 使用 Vue CLI 构建新应用 运行如下命令启动交互式的向导程序帮助完成基础架构搭建: ```bash vue create . ``` 选择手动挑选特性,并勾选必要的功能模块如 Babel、Router 或 Vuex 等。对于初学者来说,默认预设通常已经足够用了。 #### 编写入口 HTML 页面 编辑位于 `/public/index.html` 中的内容,使其成为 Web 应用的主要加载页面。保持简单即可,因为大部分逻辑都将由单页应用框架处理。 #### 修改主组件 App.vue 打开 `/src/App.vue` 文件,在其中定义根级别的 UI 结构以及样式规则。此部分可以根据个人喜好自定义设计风格。 #### 配置 webpack 及其他工具链 虽然 Vue CLI 自动生成了许多有用的配置选项,但对于某些高级场景可能还需要进一步调整优化。查阅文档了解如何针对生产环境定制打包策略是非常有帮助的做法。 #### 启动本地服务器测试成果 最后一步就是检验一切是否正常运作了。回到终端窗口输入以下命令开启实时重载服务端口8080监听请求: ```bash npm run serve ``` 现在可以在浏览器里访问 http://localhost:8080 查看刚刚建立好的空白模板站点! #### 发布到线上平台 当完成了全部编码之后,记得利用 CI/CD 流水线自动化部署至目标托管服务商处共享给更多人体验。 以上便是关于怎样着手准备一个完整的 Vue 2.0 开发环境介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值