浅谈在vue-cli3项目中解决动态引入图片img404的问题


Posted in Javascript onAugust 04, 2020

博主最近手头再做一个项目,需要调用天气接口,并且还要动态显示天气相关图片icon。

本来以为没什么大问题,结果硬生生被这个动态图片路径搞得民不聊生(博主还是 too young,too simple~),给出效果图:

浅谈在vue-cli3项目中解决动态引入图片img404的问题

就是那个红框选中的那个天气状况图标icon要根据当前城市获取当前城市天气状态码,再根据当前城市状态码找到这个对应的天气图标icon~~

按照一般的开发模式,静态图片路径是相对路径还是绝对路径都可以,因为图片路径是静态的是死的,所以webpack去找这个图片路径的时候是能找到的。

但是博主这个路径是动态的,博主在computed给出一个拼接了变量的路径,项目启动在浏览器下死活出不了这个图片,死活都是404~~~

浅谈在vue-cli3项目中解决动态引入图片img404的问题

就是上述这样的路径是不行的,一直是404,原因也讲了点,vue-cli3中内置的webpack会把图片当做一个模块引用,然后打包等等,路径就不对了,我们的静态资源是不需要打包等等的,

静态资源是直接被webpack copy到对应的静态资源文件夹下,所以根本原因就在于,用了动态路径的图片,webpack将它认作为一个模块打包了,路径错乱,所以404。

找到了原因就很简单了,解决这个动态路径图片404的方案其实vue-cli3官网就有写过(vie官方人员还是相当靠谱的,虽然坑也多~~~)

vue-cli3的官方解决方案

其实很简单:

1.

浅谈在vue-cli3项目中解决动态引入图片img404的问题

引入项目的根路径前缀 baseUrl

baseUrl: process.env.BASE_URL

2.

浅谈在vue-cli3项目中解决动态引入图片img404的问题

浅谈在vue-cli3项目中解决动态引入图片img404的问题

把你所用的动态图片img放到public目录下

3.

浅谈在vue-cli3项目中解决动态引入图片img404的问题

修改你的动态路径图片地址

fullUrl: function() {
  // `this` 指向 vm 实例
  return `${this.baseUrl}cond-icon-heweather/${this.twCode}.png`;
 }

4.

浅谈在vue-cli3项目中解决动态引入图片img404的问题

将图片路径绑定到你的页面上去,这里博主还加了一个sync修饰词,有兴趣的同学去研究一下这个sync干什么用的。点我

这样就可以解决引入动态图片img404这个令人头疼的问题啦~

以上这篇浅谈在vue-cli3项目中解决动态引入图片img404的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
JavaScript学习笔记(一) js基本语法
Oct 25 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Feb 15 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
Dec 23 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
vue-resource 拦截器使用详解
Feb 21 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
Vue封装Axios请求和拦截器的步骤
Sep 16 Javascript
解决vuecli3中img src 的引入问题
Aug 04 #Javascript
简介JavaScript错误处理机制
Aug 04 #Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 #Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 #Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 04 #Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 #Javascript
vue根据条件不同显示不同按钮的操作
Aug 04 #Javascript
You might like
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
咖啡的植物学知识
2021/03/03 咖啡文化
多数据表共用一个页的新闻发布
2006/10/09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php中文本操作的类
2007/03/17 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
php下获取http状态的实现代码
2014/05/09 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
PHP常用技巧汇总
2016/03/04 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python中的ceil()方法使用教程
2015/05/14 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python 创建守护进程的示例
2020/09/29 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
2014年秋季新学期寄语
2014/08/02 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
故宫英文导游词
2015/01/31 职场文书
go xorm框架的使用
2021/05/22 Golang
总结一些Java常用的加密算法
2021/06/11 Java/Android
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python