从零开始搭建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>
);
相关推荐
LZQ <=小氣鬼=>36 分钟前
React 图片放大镜组件使用文档
javascript·react.js·前端框架·ecmascript
kyriewen111 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5
早點睡3901 小时前
ReactNative项目Openharmony三方库集成实战:@react-native-clipboard/clipboard
javascript·react native·react.js
Csvn2 小时前
自定义 Hooks 实战(上):封装技巧与 useLocalStorage
react.js
英俊潇洒美少年4 小时前
#React 16/17/18/19 超精简速记版(面试前5分钟背完)
前端·react.js·面试
早點睡3905 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-permissions
javascript·react native·react.js
英俊潇洒美少年5 小时前
函数组件(Hooks)的 **10 大优点**
开发语言·javascript·react.js
labixiong6 小时前
React Hooks 闭包陷阱:高级场景与深度思考
前端·javascript·react.js
早點睡3906 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-contacts
javascript·react native·react.js
英俊潇洒美少年7 小时前
JS 事件循环(宏/微任务) ↔ Vue ↔ React** 三者的关系
javascript·vue.js·react.js