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

 更新时间: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风格的组件工程搭建

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

相关文章

  • 基于DeepSeek-Coder的跨文件代码补全实战教程

    基于DeepSeek-Coder的跨文件代码补全实战教程

    本文介绍了DeepSeek-Coder33BInstruct版本在Python/Java/JavaScript等主流语言中的跨文件代码补全实战,感兴趣的朋友一起看看吧
    2025-02-02
  • 使用selenium自动控制浏览器找不到Chromedriver问题

    使用selenium自动控制浏览器找不到Chromedriver问题

    这篇文章主要介绍了ChromeDriver安装与配置问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 合成大西瓜开发源码手把手教你运行和部署大西瓜游戏项目(附源码)

    合成大西瓜开发源码手把手教你运行和部署大西瓜游戏项目(附源码)

    这篇文章主要介绍了合成大西瓜开发源码手把手教你运行和部署大西瓜游戏项目(附源码),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Hadoop 文件系统命令行基础详解

    Hadoop 文件系统命令行基础详解

    这篇文章主要介绍了Hadoop 文件系统命令行基础,Hadoop 命令行最常用指令在文章给大家一一罗列出 ,需要的朋友可以参考下
    2019-07-07
  • Xmind用例导入到TAPD的解决方案

    Xmind用例导入到TAPD的解决方案

    这篇文章主要介绍了Xmind用例导入到TAPD的方案,大家都知道XMind2TestCase ,该工具基于 Python 实现,通过制定测试用例通用模板,然后使用 XMind 这款广为流传且开源的思维导图工具进行用例设计,需要的朋友可以参考下
    2022-07-07
  • 一个30多年编程经验的程序员总结

    一个30多年编程经验的程序员总结

    这篇文章主要介绍了一个30多年编程经验的程序员总结,在我30多年的程序员生涯里,我学到了不少有用的东西,下面是我这些年积累的经验精华,需要的朋友可以参考下
    2014-09-09
  • 程序猿表白妹子的代码神器

    程序猿表白妹子的代码神器

    女生眼中的程序员,身上带着好多标签“直男,宅,不懂浪漫,枯燥…”,但这是因为你还没有了解程序猿,程序猿也可以非常浪漫。程序猿用代码来表白,把你中意的代码发给她,看她能不能看懂
    2023-01-01
  • C/S和B/S两种架构的概念、区别和联系

    C/S和B/S两种架构的概念、区别和联系

    这篇文章主要介绍了C/S和B/S两种架构的概念、区别和联系,本位还同时讲解了主流的Web程序应用平台、Web工作原理等内容,需要的朋友可以参考下
    2014-09-09
  • 基于 Dubbo Admin 临时踢除问题服务实例步骤

    基于 Dubbo Admin 临时踢除问题服务实例步骤

    服务在线上运行的过程中,难免遇到某些节点有问题,为了不影响整体服务的正常运行,需要临时下线问题的服务实例,这篇文章主要介绍了基于 Dubbo Admin 临时踢除问题服务实例,需要的朋友可以参考下
    2022-12-12
  • 关于前端数据Fail to load response data问题的解决方法

    关于前端数据Fail to load response data问题的解决方法

    这篇文章主要给大家介绍了关于前端数据Fail to load response data问题的解决方法,Fail to load respond data"是一个英文短语,意思是加载响应数据失败,需要的朋友可以参考下
    2023-12-12

最新评论