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 function对象那些迷惑分析
Oct 24 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
Javascript毫秒数用法实例
Feb 05 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
Node.js连接MongoDB数据库产生的问题
Feb 08 Javascript
JS中移除非数字最多保留一位小数
May 09 Javascript
vue实现点击当前标签高亮效果【推荐】
Jun 22 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
JavaScript两种计时器的实例讲解
Jan 31 Javascript
JavaScript迭代器的含义及用法
Jun 21 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 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
新52大事件
2020/03/03 欧美动漫
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
Django Form常用功能及代码示例
2020/10/13 Python
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
社会实践感言
2014/01/25 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
2014年维稳工作总结
2014/11/18 职场文书
施工安全员岗位职责
2015/04/11 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
Java对文件的读写操作方法
2022/04/29 Java/Android
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis