面试之亮点

亮点之组件库

  • 为什么需要二次封装组件库?
  1. 统一风格,保持界面风格和交互方式的一致性。

  2. 降低维护成本,当底层组件库更新时,我们只需要在封装组件的地方更新即可。

  3. 增加定制功能,在原有组件库的基础上增加特定的业务功能,如数据验证、错误处理、表单验证、全局提示等。

  4. 提高开发效率,如多处复用。

  • 组件库的设计过程
  1. 使用lerna进行多包管理:通过lerna来管理多个包(组件),实现组件级别的结偶、独立版本控制、按需加载等。

  2. 代码规范化:通过eslint、prettier等工具进行代码规范和格式化。

  3. 提交规范化:通过commiztizen、commitlint等工具规范代码提交。

  4. 文档站点:可以dumi搭建文档站点,实现CDN加速、增量发布等。

  5. 单元测试:jest等工具,生成测试覆盖率报告。

  6. 组件设计:考虑组件的响应式、主题、国际化、typescript支持等问题,保证组件的灵活性和可扩展性。

  7. 按需加载:配合babel-plugin-import实现按需加载。

  8. 制定贡献(contributing)文档:降低社区贡献的门槛。

评论