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 相关文章推荐
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
Mar 24 Javascript
textContent在Firefox下与innerText等效的属性
May 12 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 Javascript
深入浅出分析javaScript中this用法
May 09 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 Javascript
基于jQuery实现的菜单切换效果
Oct 16 Javascript
js仿3366小游戏选字游戏
Apr 14 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 Javascript
JS实现分页导航效果
Feb 19 Javascript
vue数据字典取键值项目的字典问题
Apr 12 Vue.js
利用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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
php判断是否为json格式的方法
2014/03/04 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
php正则修正符用法实例详解
2016/12/29 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
浅谈关于axios和session的一些事
2017/07/13 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python3中详解fabfile的编写
2018/06/24 Python
python求最大连续子数组的和
2018/07/07 Python
python sqlite的Row对象操作示例
2019/09/11 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
Linux开机引导的步骤是什么
2015/10/19 面试题
农业资源与环境专业自荐信范文
2013/12/30 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
中班开学寄语
2014/04/04 职场文书
心理学专业求职信
2014/06/16 职场文书
临床专业自荐信
2014/06/22 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
Python中npy和mat文件的保存与读取
2022/04/24 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android