使用svgr将svg图标转为React组件

1.安装svgr的依赖

npm install @svgr/webpack --save-dev
cnpm install @svgr/webpack
yarn add @svgr/webpack

总有一款命令适合你可以安装成功

2.建立源文件夹和目标文件夹

一般可以在src目录下分别建立两个文件夹assetsicons,分别用于存放.svg的svg源图标文件,和生成的React组件文件,其目录结构如下:

src/
-- index.js
-- App.js
-- assets/
----Twitter.svg
-- icons/
----暂时是空的

3.在package.json中添加新的npm脚本

  "scripts": {
   "svgr": "svgr -d src/icons/ src/assets/", // 第一个参数为存放.js的目标文件夹,第二个为存放.svg的源文件夹
   "analyze": "ANALYZE=true yarn build",
   "dev": "next dev",
   "build": "next build",
   "start": "next start",
   // ....
}

4.运行npm run svgr脚本进行转换

每次在assets中添加了新的svg文件后,都需要运行svgr脚本进行转换

npm run svgr

此时icons就会多出一个```Twitter.js``文件,包含该组件。

src/
-- index.js
-- App.js
-- assets/
----Twitter.svg
-- icons/
----Twitter.js

5.使用

//在任何需要使用svg组件的Component或者Page中可以使用
import TwitterIcon from '@/icons/Twitter.js';
export default function MyComponent(){
   return (
   		<>
   			<TwitterIcon width="40px" height="40px"/>
   		</>
   	)
}

可以给Icon添加宽高等props.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风xs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值