为什么要封装组件库?明确组件库场景!
组件库封装优点
- 组件化是对实现的分层,代码抽象,是更有效地代码组合方式
- 组件化是对资源的重组和优化,从而使项目资源管理更合理
- 组件化有利于单元测试
- 组件化对重构较友好
组件库定位
- 基础组件:多项目、业务之间组件通用,原子性组件,实现单一的功能,保证相关之间的组合能力
- 业务通用组件:带有某一业务,或者某一行业的组件,需要重点突出行业属性
- UI组件库:为了统一视觉
- 项目组件(块):某一项目内各个模块公共组件,对项目内功能、逻辑、风格、布局等的抽象,不追求跨项目通用
问题思考
- 组件是否符合单一原则,是否功能明确
- 组件的定位需要明确
- 是否有足够的精力进行后续维护
设计原则
- 规范明确:组件命名,api等组件库内需统一,同时参考社区其他组件api定义
- 单一职责,组件定位明确,功能明确
- 最少开放原则,在api未明确使用场景时,api不对外开放。
- 最少外部依赖,且不暴露内部实现
- 完善的文档体系
- 持续迭代,向前兼容性
- 完整的测试case
代码开发
- 技术方案,未来规划
- 功能边界和与其他组件的组合关系
- eslint,代码规范,css命名规范(外部使用如何二次覆盖)
- commit规范,CR规范,发布流程
- 文档整理和发布
- 单元测试