背景

19 年 6 月左右,我发布过一篇文章《Bit 初体验》 。在梳理这篇文章的过程中,我可以说深度体验了一把 bit 所提出的概念和做法,就像一颗种子种在我的脑海中,一开始我觉得这东西没什么。

我还记得我第一次与我的同事分享 bit 后,他说:

emm,虽然你讲了这么多,但是我觉得好像没有那么...有体感?

感觉没什么卵用?

啊,emm,既然你说了,就像你说的。我觉得我们现在如果引入 bit 会不会对我们的日常工作带来很多额外的工作量。

这种反应很正常,我是在 18 年初,就在 Vue 的官网见到过 bit ,当时我点进去大致浏览过一下。我当时的感受就是,没什么卵用,无非就是 " 前端垂直领域的 git "。对国内的支持情况还不咋地,连一篇像样的中文文档都找不到。

在我们的团队中一下子直接切换到 bit 的工作流,这确实不现实,在公司有那么多的基础建设都不知道 bit 这么个玩意。

但是,bit 的做法和概念,却是非常非常有价值和可以借鉴的!

所以,我想做一件事情,一步一步的把 bit 的玩法用我们熟悉的方式引入进来甚至有所延伸扩展,让大家认同其中的好处和价值。

认识组件

随着近些年”微前端“概念的不断酝酿,越来越多的团队开始着手将自己的业务处理为不同组件,然后通过一些微前端做法,编排到一个业务页面中去。

那么对于组件的维护就会变得越来越重要。所以,先来看看现在大多数团队是怎么维护组件的吧!

  • 大库型,Antd、Element 标准的大库型
  • 一次型,完全业务组件,用完一次再也不维护
  • 高复用型,一看就应该单独封装以后给其他人用,比如:视频播放器
  • 项目融合型,与业务项目在一起,混合 store,不分你我

我暂时能想到的就这几种类型的组件,如果你的团队也在维护自己的一套组件库,那么应该很容易理解我上面所说的。

我相信,既然这么做了,肯定有这么做的理由和好处,没有人会闲着没事找麻烦做不是,那么这些做法都有什么好处和痛点呢?我从几个方面入手分别分析一下。

方便、快捷

组件嘛,当然是最快能跑起来,最方便能看到效果最好咯。就这点来讲,还有什么比直接在业务项目里撸组件更快的方式吗!?

现在用个展示的面板,立马去 components 目录撸一个。

数据?不是有 store 吗?引入进来不就拿到数据了!

所见即所得,现在改完马上看到页面上的效果!无法反驳..

这么看确实开发这个组件是好快了,但是从整个业务需求实现来看,这么做真的是最快的吗?如果这样的做法是最快捷的,那为什么那么多团队在强调沉淀、封装、抽象呢?

其实很多组件当时看起来,这辈子就只可能用一次,不用封装。可是往往交互稿过来的时候就会发现,这个样式好像我在哪里见过。然后去各种业务项目里一顿翻,哇终于找到了,复制过来发现各种爆红,定睛一看,store???

所以,聪明的团队早已洞察这一切,让我们把组件都维护到同一个地方,然后大家写好文档,用的时候从库里面取就可以了,有 Bug 的话统一修复就是,棒

一个好的组件应该是什么样的?相关推荐

  1. java拖动组件,[小娱乐] 一个能拖动组件、改变组件大小的容器

    [小娱乐] 一个能拖动组件.改变组件大小的容器 /* * JDragpullPane.java * * Created on 2007年3月20日, 上午12:31 */ package javax. ...

  2. 构建你的第一个Vue.js组件

    我记得当时我拿起CakePHP,我很喜欢,开始使用它是多么容易.这些文档不仅结构合理,详尽无遗,而且用户友好.多年以后,这正是我在Vue.js中感受到的.然而,与Cake相比,Vue文档仍然缺少一件事 ...

  3. animation基础练习源码_用vue简单写一个音乐播放组件「附源码」

    作者:vipbic 转发链接:https://segmentfault.com/a/1190000022980992 前言 上次小编也分享一个关于Vue 开发过音乐播放对项目: 基于 electron ...

  4. 快速实现一个Http回调组件

    2019独角兽企业重金招聘Python工程师标准>>> 快速实现一个Http回调组件 一.前情回顾 ​ 我们平时在使用一些库的时候,会遇到一些看起来很舒服的写法,用起来感觉很简单,而 ...

  5. 如何对第一个Vue.js组件进行单元测试

    by Sarah Dayan 通过莎拉·达扬 In Build Your First Vue.js Component we made a star rating component. We've c ...

  6. 学会使用ant design封装一个锚点组件

    我是歌谣 放弃很容易 但是坚持一定很酷 封装一个锚点组件就是要知道一个父子组件的一个传值 很显然 父亲这边传过去一个数组 然后就可以进行循环遍历得到一个新的数值 这边注意 当我们进行一个map返回值得 ...

  7. 第九节:掌握vue的另一个核心:组件

    连续几天没空写文章了,最近忙着弄一个小程序,经过几天的coding,终于在今天下午提交审核,等待审核中.... 大家久等了,是时候接着学习我们的vue基础系列教程了,第一节我们就介绍过,vue有两大核 ...

  8. 一个Camel Multicast组件聚合策略问题的解决过程

    摘要:本文通过案例,发现了一个Camel Multicast组件聚合策略相关的问题.通过查看Camel源代码,找到了问题原因并给出了解决方案.希望本文可以帮助到遇到同样问题的Camel用户. 本文分享 ...

  9. 独立完成一个城市选择组件(阿里前端题目,内附知识点、思路)

    借用了两个久经考验的轮子:fastClick和better-scroll,介意可以就此打住.本文绝对原创,手打,思路清晰,知识不难,不适合大佬观看,谢谢. 首先说一下,我不是阿里的人,也没去阿里面试过 ...

  10. 本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件。

    本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...

最新文章

  1. 一文看尽深度学习中的20种卷积(附源码整理和论文解读)
  2. 百度地图API开发概述
  3. linux启动lsyncd服务,Ubuntu下lsyncd实现远端实时同步配置
  4. 面试 linux 进程通讯,【转】LINUX驱动的经典面试问题...
  5. ASP.NET Core 认证与授权[4]:JwtBearer认证
  6. 想要摆脱手工报表困境?1个工具+5个场景解决80%工作难题
  7. WiFi 6 目前还不适合个人用户
  8. C# 调用Excel组件生成excel文件
  9. oracle数据库长连接和短连接,tcp 长连接与短连接
  10. 无人驾驶——激光雷达篇
  11. Airbnb短租分析
  12. 使用Python解密仿射密码
  13. Spoon Kettle 输入之获取文件名(Get file names)
  14. 游戏中的造型师——3D美术
  15. shp数据中文乱码的一种恢复方法
  16. 构建MFS+Keepalived双机高可用热备方案`
  17. error C2041: illegal digit ‘9‘ for base ‘8‘ | error C2059: syntax error: ‘bad suffix on number‘
  18. WESAD:情绪分类多模态传感器数据集
  19. 舔狗是这样实现列表过滤和列表排序滴
  20. 令人费解的MFC客户区

热门文章

  1. 不飘了,让图像识别算法快速产业落地 别再实验了,让你的图像识别算法赶紧上线!...
  2. 阿里员工发帖吐槽人不如驴:你不能一边抽我,一边问我爱不爱你
  3. 干货 | Python 标准库之 XML(上)
  4. exists用法_SQL中的ALL、ANY和SOME的用法介绍
  5. shell中$*和$@ 两个都区别
  6. 把一列数据分割成两列
  7. nginx高性能WEB服务器系列之七--nginx反向代理
  8. 14、剑指offer--链表中倒数第k个结点
  9. C#使用Gecko实现浏览器
  10. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词