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 相关文章推荐
在js中单选框和复选框获取值的方式
Nov 06 Javascript
JS实现QQ图片一闪一闪的效果小例子
Jul 31 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
js图片处理示例代码
May 12 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
微信小程序授权登录及解密unionId出错的方法
Sep 26 Javascript
小程序自定义日历效果
Dec 29 Javascript
js实现旋转木马轮播图效果
Jan 10 Javascript
Rust中的Struct使用示例详解
Aug 14 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基础知识:控制结构
2006/12/13 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
《小鹰学飞》教学反思
2014/04/23 职场文书
具结保证书
2015/01/17 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript