vue :src 文件路径错误问题的解决方法


Posted in Javascript onMay 15, 2018

首先先说明下vue-cli的assets和static的两个文件的区别,因为这对你理解后面的解决办法会有所帮助

 assets:在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img src=”./logo.png”>background:url(./logo.png),”./logo.png”是相对资源路径,将有webpack解析为模块依赖
 static:在这个目录下文件不会被webpack处理,简单就是说存放第三方文件的地方,不会被webpack解析。他会直接被复制到最终的打包目录(默认是dist/static)下。必须使用绝对路径引用这些文件,这是通过config.js文件中的build.assetsPublicbuild.assertsSubDirectory链接来确定的。任何放在static/中文件需要以绝对路径的形式引用:/static[filename]
 根据webpack的特性,总的来说就是static放不会变动的,第三档的文件,asserts放可能会变动的文件

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

代码实例

<li v-for="(item,index) in images" :key="index">
<img :src="item.src"></li>
//js部分
data(){
 return {
 images:[{src:'./1.png'},{./2.png}]
 }
}

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

 原因:在webpack中会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法解析图片地址,然后npm run dev 或者npm run build之后导致路径没有被加工【被webpack解析到的路径都会被解析为/static/img/[filename].png,完整地址为localhost:8080/static/img/[filename].png

 解决办法:

①将图片作为模块加载进去,比如images:[{src:require(‘./1.png')},{src:require(‘./2.png')}]这样webpack就能将其解析。

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

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

第一步:在static里面新建一个json文件夹

vue :src 文件路径错误问题的解决方法

第二部:填写json文件,如图

vue :src 文件路径错误问题的解决方法

第三部:将json引入响应的vue文件中,解析引用就行了

vue :src 文件路径错误问题的解决方法

总结

以上所述是小编给大家介绍的vue :src 文件路径错误问题的简单解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript TextArea动态显示剩余字符
Oct 22 Javascript
一个简单的JavaScript 日期计算算法
Sep 11 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
Sep 28 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 Javascript
理解javascript中的严格模式
Feb 01 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
Aug 04 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
利用npm 安装删除模块的方法
May 15 #Javascript
vux uploader 图片上传组件的安装使用方法
May 15 #Javascript
使用webpack搭建react开发环境的方法
May 15 #Javascript
浅谈Node.js 沙箱环境
May 15 #Javascript
npm全局模块卸载及默认安装目录修改方法
May 15 #Javascript
WebPack配置vue多页面的技巧
May 15 #Javascript
修改npm全局安装模式的路径方法
May 15 #Javascript
You might like
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python base64编码解码实例
2015/06/21 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
python 文件转成16进制数组的实例
2018/07/09 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
出国留学自荐信
2013/10/25 职场文书
学前班评语大全
2014/05/04 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
北京英文导游词
2015/02/12 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
Python使用openpyxl批量处理数据
2021/06/23 Python