对于组件库的思考及技术梳理详解

 更新时间:2023年02月01日 14:11:20   作者:Fone丶峰  
这篇文章主要为大家介绍了对于组件库的思考及技术梳理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

为什么要做?

18年的时候觉得写ui组件库的人都好牛,出于好奇看了elementuiiviewVant的源码。从那之后就萌生了自己也可以尝试搭个组件库试试,一是可以学习到很多知识,二是可以向牛人靠齐。可那时候又是个菜鸟,从0到1搭建对我来说是件很难的事情。当时借助从vue-cli创建的项目,做了修修改改,这样简单的组件库就出来了vvmui,现在回头看看那时候做的东西是真的菜。。。

近些年来,随着前端项目的复杂度越来越高,前端工程化的概念也被越来越重视,在很多面试中也会问到对前端工程化的理解。稍微有点规模的团队都会设计出一套适合当前业务需求的前端架构,开发规范测试lint构建部署监控集成微服务等等。所以自己从0到1搭建个组件库可以学到。

  • lint规范的接入,prettier的格式化统一,husky的卡点校验。
  • Monorepo多包代码风格的项目管理。
  • 组件的单元测试。
  • 发布自己的工具包到npmjs市场。
  • 使用 Github Action 完成 CI/CD
  • 灵活的利用打包工具,vitegulp等等。

组件库的技术选型

因为之前接触过lerna+yarnMonorepo代码风格项目,所以这次在组件库的搭建上会尝试使用pnpm。至于pnpm就不给大家介绍了,不了解的可以自行到pnpm官网了解。个人认为,pnpm对内存管理的优化简直是Mac用户的救兵。才用了两三年的电脑,内存已被使用不少了。

组件库的方向

组件库会选择做移动端,其次会从多端的方向去做,支持H5Taro。通过Taro的多端机制去适配多端,如果有时间的话还会考虑支持uni-app

我为什么会选择移动端方向?

我一直认为PC端的组件库是非常成熟了,特别是在表单收集方面的组件是非常成熟而且规范。在移动端上表单收集的组件以及表单校验的交互细节就变得非常复杂了。开源组件本身的设计与业务不符合,就会让开发者陷入被动。所以我一直希望自己能完整开发一些通用的组件,让我在下次接触到类似的组件时,虽然业务设计有出入,但我也不会变的无从下手。

组件库的设计

结语

首先自己做组件库并不是为了炫技,开源的组件库已经非常多了,重复造轮子的意义不大。但是这个从0到1的过程,不仅让自己学到了很多东西,而且也是热爱自己这一行的一种表现。如果只是为了在这一行混口饭吃,各种开源的轮子已经能解决你遇到的大部分问题了。

其次,在写这篇文章的时候,组件库的完成度已经接近70%了。写作水平差更新的慢,有问题请轻喷。

最后,后面觉得差不多了会把代码仓库的地址补上,还有组件库的在线体验地址。

相关文章

Monorepo风格的组件工程搭建

以上就是对于组件库的思考及技术梳理详解的详细内容,更多关于组件库技术梳理的资料请关注脚本之家其它相关文章!

相关文章

  • 99%的程序员都会收藏的书单 你读过几本?

    99%的程序员都会收藏的书单 你读过几本?

    99%的程序员都会收藏的书单 你读过几本?用书籍来武装你的大脑,拯救你的人生,还在等什么,速速收藏
    2017-11-11
  • 利用ChatGPT编写一段嵌入式代码

    利用ChatGPT编写一段嵌入式代码

    ChatGPT也热火朝天了有一段时间了,今天闲来没事,也想着玩一玩ChatGPT,看看是不是网上说的那么强大!本文就来用ChatGPT编写一段嵌入式代码,看看效果如何
    2023-02-02
  • Scala项目构建工具sbt和IntelliJ IDEA环境配置详解

    Scala项目构建工具sbt和IntelliJ IDEA环境配置详解

    这篇文章主要介绍了Scala项目构建工具sbt和IntelliJ IDEA环境配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 微信小程序应用号开发体验

    微信小程序应用号开发体验

    这篇文章主要介绍了微信小程序(应用号)开发体验的相关资料,需要的朋友可以参考下
    2016-09-09
  • VSCode + WSL 2 + Ruby环境搭建图文详解

    VSCode + WSL 2 + Ruby环境搭建图文详解

    这篇文章主要介绍了VSCode + WSL 2 + Ruby环境搭建,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Viso 2019 下载与激活方法

    Viso 2019 下载与激活方法

    Visio 是一款专门绘制流程示意图工具,由于很多刚入职的小白没有安装过visio,今天小编抽空给大家分享下Viso 2019 下载与激活方法,感兴趣的朋友一起看看吧
    2023-02-02
  • 关于Git远程与本地冲突的解决方法

    关于Git远程与本地冲突的解决方法

    这篇文章主要给大家介绍了关于Git远程与本地冲突的解决方法,文中给出了详细的解决方法,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-04-04
  • 好玩的vbs微信小程序之语言播报功能

    好玩的vbs微信小程序之语言播报功能

    这篇文章主要介绍了好玩的vbs微信小程序之语言播报功能,非常好玩有趣,需要的朋友跟随小编一起看看吧
    2019-09-09
  • 滑动验证码的设计与理解

    滑动验证码的设计与理解

    这篇文章主要介绍了滑动验证码的设计与理解,本文通过实例代码给大家介绍小网站是怎么设计的,代码简单易懂,需要的朋友可以参考下
    2019-08-08
  • redis debug环境搭建过程详解(使用clion)

    redis debug环境搭建过程详解(使用clion)

    这篇文章给大家介绍redis debug环境搭建过程,使用clion,达到和调试java一样的效果,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07

最新评论