从零开始搭建React+TypeScript+webpack开发环境-使用iconfont构建图标库

创建iconfont项目

进入iconfont官网,完成注册流程,即可创建项目。

无法访问iconfont可尝试将电脑dns改为阿里云镜像223.5.5.5和223.6.6.6

添加图标

在图标库里选择图标,加入购物车

将图标添加到之前创建的项目中

生成代码

将代码配置到项目里

复制代码

配置到webpack里

在网页模板里引用

开发图标组件

components文件夹下创建Icon组件

ts 复制代码
import React, { DetailedHTMLProps, HTMLAttributes } from 'react';

interface IconProps
  extends DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement> {
  type: string;
}

const Icon: React.FC<IconProps> = ({ type, className, ...rest }) => (
  <i className={className} {...rest}>
    <svg className="zhique-icon" aria-hidden="true">
      <use xlinkHref={`#zhique-icon-${type}`} />
    </svg>
  </i>
);

export default Icon;

global.less里添加样式

less 复制代码
.zhique-icon {
    width: 1em; height: 1em;
    vertical-align: -0.15em;
    fill: currentcolor;
    overflow: hidden;
  }

使用组件

ts 复制代码
import React from 'react';

import { Icon } from '@/components';

export default () => (
  <div>
    <Icon type="compass" />
  </div>
);
相关推荐
摘星编程1 小时前
在OpenHarmony上用React Native:Spinner自定义样式
javascript·react native·react.js
jin4213522 小时前
React Native鸿蒙跨平台完成闪屏页作为移动应用的入口级页面,实现的二手置换应用闪屏页SecondhandSplash
javascript·react native·react.js·ecmascript·harmonyos
aesthetician3 小时前
WebSocket: 实时通信的脉动:深度解析与 TypeScript 实践
websocket·网络协议·typescript
摘星编程3 小时前
React Native鸿蒙版:Spinner颜色配置
react native·react.js·harmonyos
摘星编程3 小时前
用React Native开发OpenHarmony应用:ProgressBar缓冲进度显示
javascript·react native·react.js
旭久3 小时前
react+antd实现一个支持多种类型及可新增编辑搜索的下拉框
前端·javascript·react.js
摘星编程3 小时前
用React Native开发OpenHarmony应用:Loading加载状态组件
javascript·react native·react.js
阿蒙Amon4 小时前
TypeScript学习-第9章:类型断言与类型缩小
javascript·学习·typescript
Jinuss5 小时前
源码分析之React中Scheduler调度器的最小二叉堆
javascript·算法·react.js
飞羽殇情5 小时前
基于React Native鸿蒙跨平台实现的电商客服咨询系统,支持在线客服、AI助手和电话咨询三种方式,并实现了问题分类、智能快捷回复等功能
react native·react.js·华为·harmonyos