[web前端——组件库使用、自定义组件库| 青训营笔记]

102 阅读3分钟

什么是组件?具有标准接口和某种功能且可复用的标准零部件。

有了组件的使用,我们在进行软件开发的时候,可以像搭积木一样,而不是什么东西都要自己写、自己造,我们有了可以重复使用的“零部件”

在前端开发中,我们就有许许多多的UI组件,“按钮”、“输入框”、“下拉选择”都是组件,组件和组件组合就变成了一个更复杂的组件。

现如今,对于开发人员来说,市面上有着非常多的组件库供我们进行选择:一、Bootstrap二、iconfont图标库三、常用组件库:Element-ui、Vant-ui、Ant Design四、Swiper(专业级轮播图/旋转木马工具) 五、Moment.js(专业级时间工具) 六、Animate.css七、Apache ECharts

如何使用组件库?——以arcodesign组件库为例子

首先,我们需要进行引入:npm i @arco-design/web-react

import React from ""react"" ;

import ReactDOMfrom "react-dom" ;

import { Button } from "@arco-design/web-react" ;

import "@arco-design/web-react/dist/css/arco.css";

或者在安装的时候按需加载插件

在webpack的babel配置中进行插件的引入

 

自定义组件:

搭建业务组件库–关键点:架构设计、技术方案、对外文档。就如同盖房子一样,我们需要打地基、盖房子、装修,一步一步来

架构设计:单包架构、多包架构
技术方案:开发环境、样式方案、产物构建、质量保障、组件开发

对外文档:Demo展示、组件API生成、版本日志

单包架构

一个代码仓库里所有组件打包成一个整体,发布出去一个npm包

优点:

√公共代码易复用

√展示更聚合,便于维护

√引入一个包即可使用全部组件

缺点:1、修改一个组件需要更新整个库 2、需要考虑按需加载

多包架构

一个代码仓库包含多个组件代码,会发布出去多个npm包。

优点:

√单独发包,升级灵活。

√在同一仓库下,便于代码管理

√使用者无需考虑按需加载

缺点:

1、组件间相互依赖时,需要通过npm包引入 2、组合使用时需要安装每一个用到的npm包

 

什么是好的组件:高内聚、低耦合、通用性、易拓展

职责清晰,高可维护性

对外提供简单稳定的接口,对内关注内部逻辑的实现。

组件和组件之间能简单的配合实现定制的功能。

比如: Popver直接嵌套Input 即可实现:在输入框聚焦时显示气泡提示内容

基础组件适用广泛的业务场景

适用于不同行业的业务平台

业务组件适用于针对性平台

具备显著的业务属性,一般基于基础组件开发。

比如︰通过关键字调接搜索Lark 群聊

项目组织:语义化命名、包名和组件名最后一致、单独维护类型文件

组件设计:组件属性定义·类名前缀统一、避免行内样式、避免在JS中耦合css、注意样式的按需加载