整个2021我大部分的时间都花在开发及维护一款基于 element-plus 封装的增强组件库 element-pro-components 上。起初我计划3个月完成,没有想到转眼到年底,虽然整体api稳定,但正式版还是遥遥无期。
组件库不仅仅是组件
如果你也想要卷个组件库,记住组件库不仅仅是组件。它还应该包括完整的构建、测试、文档、示例、代码提示、TypeScript类型、各种规范、自动化流程等等(虽然后面这些可能不是必须的,但有总比没有好)。其中每一项都包含很多坑,我花了很多时间重构。
关于测试
一开始写测试我是拒绝的,因为写测试不但花时间还很麻烦。后来多次的 GitHub Actions 报错,减少我发布一大推带问题的包,最后一切都是值得的!
关于代码提示
我在日常开发中严重依赖代码提示,不但能够减少拼写错误而且还能够提升开发效率。为了提供完整的代码提示,我甚至开发了一款通过解析 Markdown 文档为 WebStorm 和 Vetur + VS Code 生成代码提示的工具 components-helper。同时也为 element-plus 提交多次相关代码提示的 PR。
后来 Volar 支持更加友好的 Global Components 生成组件代码提示,更加方便好用。
成果
截止发稿我发布 35 个版本、获得 47 Stars。最初计划的组件及功能基本上都已经实现并稳定,剩下主题在明年完善。
效率
对我来说在项目中使用我开发的组件库能够大幅提高效率,但对于他人还是需要花时间去适应思想的转变。
卷
今年涌现出很多不错的组件库,早知道这样如果回到年除或许我不会立这个 flag。抽些时间去相亲不是更好-.-!
展望
对于新的一年,希望能够写些提升效率的工具;或者写些有意思的 Demo。写了多年的业务代码,经常被增删改查压迫。写些自己感兴趣的东西,才能够找回曾经对编程的热情!