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 DOM编程实例(智播客学习)
Nov 23 Javascript
在JQuery dialog里的服务器控件 事件失效问题
Dec 08 Javascript
JS动态增删表格行的方法
Mar 03 Javascript
JavaScript记录光标在编辑器中位置的实现方法
Apr 22 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
laypage分页控件使用实例详解
May 19 Javascript
JavaScript实现前端实时搜索功能
Mar 26 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 Javascript
纯js实现画一棵树的示例
Sep 05 Javascript
JavaScript交换两个变量方法实例
Nov 25 Javascript
Vue 监听元素前后变化值实例
Jul 29 Javascript
JavaScript实现一键复制内容剪贴板
Jul 23 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断点续传之如何分割合并文件
2014/03/22 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
python实现倒计时的示例
2014/02/14 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
详解JAVA的控制语句
2021/11/11 Java/Android
优化Mysql查询的示例
2022/04/26 MySQL
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android