组件库构思过程 | 青训营笔记

116 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

1.确定组件库使用的技术栈

js:vue3+ts

css:less

构建工具:webpack

2.质量保障

暂无,还没接触过这类东西,还需要再去学习。

3.规范

代码风格:eslint+prettier

4.文档

准备编写一个SPA应用演示充作组件库的文档

技术选型:vuepress(暂用)

具体流程:队员每写完一个组件,就自行更新文档

5.核心需求

  • 通用组件:Button,Icon等,
  • 布局组件:Grid,Layout等
  • 导航组件:breadcrumb,Dropdown,Menu等
  • 数据录入组件:form表单,switch开关,upload文件上传,日期选择,下拉选择等
  • 数据展示型组件:比如Avator头像,Table表格,List列表等
  • 反馈型组件:比如Progress进度条,Drawer抽屉,Modal对话框等

整体流程:建立GitHub仓库 -> 初始化webpack、eslint等工具 -> 编写组件库及文档 -> 发布到npm

6.已解决的问题

  • 要怎么引入并使用组件?其实组件就是一个JavaScript对象。我们编写好组件,将其通过模块化的形式抛出。全局引入组件的时候直接注册一个插件,统一暴露的时候直接使用组件即可。
  • 如何发布到npm? 首先一定要确认npm源是npm官方源,然后vscode中登录到npm,并且配置好package.json文件,然后直接 npm publish即可。

7.目前预知的技术难点和疑惑:

  • 以前没测试过,不知道测试这东西在前端中是什么东西?怎么操作?是否有现成工具?
  • 由于用webpack,对于不同文件,需要的loader也不同,配置webpack可能需要花很大的功夫。
  • ts开发经验较少,对于在vue3中处理类型还存在一定问题。
  • 对于组件库是否能完美做到不变形。
  • 作为队长,如何分配任务以及让队员们学到所需要的内容?