vue css 引入asstes中的图片无法显示的四种解决方法


Posted in Javascript onMarch 16, 2020

这里主要针对的是vuecli2中的一些问题。
vue项目中,常常会有很多的图片资源,这样的资源存放位置,通常我们有两个选择:1. static,2. assets
关于这两者之间的区别,和如何选择这里就不多说了!
这里我们来说说assets目录下存放图片时,在vue组件的css样式中引入图片时将会遇到的一些问题!
正常情况,我们在本地开发调试的时候,无论什么样的方式引入图片都不会有问题。但是,一大包发布打线上,就会出现图片无法加载的情况!
这是因为,出于某些原因,有人修改了config目录下的index.js文件中的build对象中assetsPublicPath的值,这个值初始化的时候是 斜杆(/),代表资源根目录,也就是dist目录下与index.html文件同级。

所以:

第一种方法

修复的方法就是把这个值改回默认值:/

vue css 引入asstes中的图片无法显示的四种解决方法

打包出来的结果: css文件中background属性

vue css 引入asstes中的图片无法显示的四种解决方法

index.html中的js和css文件

vue css 引入asstes中的图片无法显示的四种解决方法

第二种方法

还是修改这个值斜杠代表的是根目录,我们换种思路,是不是可以把这里该为绝对地址呢?答案肯定是可以的具体怎么改呢?举个例子,比如我的线上的项目的地址是:http://www.test.com,我们只需要吧之前的斜杠替换成这个地址就可以了,如图:

vue css 引入asstes中的图片无法显示的四种解决方法

打包出来的结果: css文件中background属性

vue css 引入asstes中的图片无法显示的四种解决方法

index.html中的js和css文件

vue css 引入asstes中的图片无法显示的四种解决方法

第三种方法

上面也说了,可能由于某些原因我们修改了这个值,为了不影响原有的功能,也是避免造成别新的bug,我们不能修改这个值,所以我们有了第三种方法。修改build目录中的uitls文件中的css打包配置,打开utils.js文件直接搜索 ExtractTextPlugin.extract 然后在对象中添加属性 publicPath: ‘…/…/' 具体如图:

vue css 引入asstes中的图片无法显示的四种解决方法

这里的层级(publicPath: ‘…/…/' )具体看你打包后的目录结构,我这里的层级如下图,各自根据自己的情况确定

vue css 引入asstes中的图片无法显示的四种解决方法

这个时候打包出来的路径,根据你的assetsPublicPath配置而定了,这里就不举例了,执行查看是否打包正常。

第四种方法

前面三种方案都是说的老项目,已经大量的图片引入,没有办法了。但是若果图片资源不多,或者是新项目,这个时候的话不需要这么麻烦去改打包配置。我们可以从一开始就避免这个问题。对于html中的img标签我们可以通过import的方式先把图片引入,然后放到data中,在绑定到src上。

import logo from "../assets/logo.png";
data() {
 return {
 logo,
 };
},
<img :src="logo" width="78" height="78" alt="logo">

css中的路径我们可以通过@来引入(@等价于src目录)比如:

background: url("@/assets/logo.png") no-repeat;

又或者,直接不要放到asstes目录下,也可以避免这个问题发生。

总结

到此这篇关于vue css 引入asstes中的图片无法显示的四种解决方法的文章就介绍到这了,更多相关vue css 引入asstes 图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js Flash插入函数免激活代码
Mar 31 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
每日十条JavaScript经验技巧(一)
Jun 23 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
May 11 Javascript
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
ionic选择多张图片上传的示例代码
Oct 10 Javascript
Javascript中prototype与__proto__的关系详解
Mar 11 Javascript
Vue 实现拨打电话操作
Nov 16 Javascript
Ajax实现异步加载数据
Nov 17 Javascript
JS函数本身的作用域实例分析
Mar 16 #Javascript
JavaScript实现tab栏切换效果
Mar 16 #Javascript
vue-cli3使用mock数据的方法分析
Mar 16 #Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 #Javascript
vue从零实现一个消息通知组件的方法详解
Mar 16 #Javascript
JavaScript实现动态留言板
Mar 16 #Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 #Javascript
You might like
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
JS批量操作CSS属性详细解析
2013/12/16 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python使用mysql的两种使用方式
2018/03/07 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
对numpy中shape的深入理解
2018/06/15 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
测量工程专业求职信
2014/02/24 职场文书
医学生求职自荐书
2014/06/12 职场文书
老干部工作汇报材料
2014/10/28 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
求职简历自我评价2015
2015/03/10 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS