从零开始搭建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>
);
相关推荐
卡布鲁21 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
用户298698530141 天前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js
狗狗狗狗狗乐啊2 天前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
晓得迷路了2 天前
栗子前端技术周刊第 147 期 - React Router 8.4、Vite 云服务攻击、pnpm 12.4...
前端·javascript·react.js
神秘的猪头3 天前
React 脱围机制(二):重新理解 useEffect——它不是生命周期,而是同步外部系统
react.js
卡布鲁3 天前
React useMemo 与 useCallback 完全指南:原理、场景与避坑
前端·react.js
右耳朵猫AI3 天前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js
溪语流沙3 天前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
掰头战士4 天前
多重影分身!恨不得把一个agent掰成两个? 还真能干!
typescript·llm·agent
shmily麻瓜小菜鸡4 天前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript