自己把icon集成进去组件库

25 篇文章 0 订阅

遇到的问题

因为png无法修改颜色,所以使用svg形式,然后因为webpack有对svg进行编译转化,导致成为base64,无法使用v-html

解决方案

想到的一个解决办法是把svg的webpack去掉

{
    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
     loader: 'url-loader',
     options: {
         limit: 10000,
         name: utils.assetsPath('img/[name].[hash:7].[ext]')
     },
     exclude: [resolve('src/images/icon/svg')]
 },

但是运行svg直接引入编译出错

[Vue warn]: Error in created hook: "Error: Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
| <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
| <path fill-rule="evenodd" clip-rule="evenodd" d="M23.5576 3.92064C22.9895 3.35523 22.0713 3.35523 21.5033 3.92064L8.43155 16.9315C8.08483 17.2766 7.94834 17.7528 8.02209 18.2011C8.05796 18.5182 8.19782 18.8257 8.44168 19.0684L21.5134 32.0793C22.0815 32.6447 22.9997 32.6447 23.5677 32.0793C24.1396 31.5101 24.1396 30.5845 23.5677 30.0154L11.4911 17.9949L23.5576 5.98458C24.1294 5.41542 24.1294 4.4898 23.5576 3.92064Z" fill="#191D25"/>
| </svg>"

看报错原因是说缺乏合适的loader,不能有文件不用loader处理,所以我这边去找loader,发现svg-inline-loader 这个loader是最适合处理svg,原样输出的。

svg-inline-loader 解决

{
   test: /\.(svg)(\?.*)?$/,
     loader: 'svg-inline-loader'
 },

至此解决了这个问题

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值