vue配置svg,图标显示不出来

写在最前面:在Vue中使用svg主要靠webpack配置svg-sprite-loader来处理svg文件,如果有问题(配置流程按网上的教程一套下来或者直接是扒拉别人的代码还是 有问题的),需要一点webpack的知识进行排查,重点是排查的流程;

在vue中配置处理svg文件,结果图标显示不出来也不报错

正常的应该如下图,shadow-root下面还有dom节点:

根据网上的步骤

https://www.cnblogs.com/luoxuemei/p/12154835.html

重新检查配置的步骤,发现没有问题


解决:

1.如果碰到这个问题,直接把关于svg这段的配置全部删掉,甚至可以把整个vue.config.js文件的内容都清掉

如果问题依旧,浏览器也不会报错,则可以确定是整个vue.config.js文件没有生效

此时我们已经确定问题在于我们的webpack配置没有配置好,于是就针对这个进行调试:

1.检查配置前的代码是否有问题造成了堵塞(代码往后执行不下去),把有问题的代码解决掉即可解决问题

2.如果不是上面的情况,在icons目录下的index.js文件打印我们遍历svg文件夹的信息

如果正常的话,打印结果是这样的:

这里我遇到的有两种情况,一种result = [] ,一种是result = [img/disk.svg]

  • result = [img/disk.svg],则说明没有加载我们预设的svg-sprite-loader来处理svg文件,而是使用了框架默认的处理器,需要进一步排查
  • result = [],是svg-sprite-loader没生效,这里可以尝试npm重装一下svg-sprite-loader

在控制台输入 vue inspect --rules查看我们的配置信息列表

检查看看,我们对于svg的配置是不是和我们预想的有出入,可以输入vue inspect --rule svg

3.如果以上还是不能排查,控制台输入 vue inspect > output.js, 在项目中生成webpack的输出文件,继续查看我们的配置有没有错(路径等)


  • 19
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值